MediaWiki:Common.js: Difference between revisions

From Emmy The Robot Fandom Wiki
Content added Content deleted
No edit summary
No edit summary
Line 21: Line 21:


// Get all paragraphs in the content area
// Get all paragraphs in the content area
var paragraphs = document.querySelectorAll ('html.client-js.ve-not-available body.mediawiki.ltr.sitedir-ltr.mw-hide-empty-elt.ns-0.ns-subject.mw-editable.page-List_of_fan_Nandroids.rootpage-List_of_fan_Nandroids.skin-timeless.action-view.skin--responsive div#mw-wrapper.extension-icons div#mw-content-container.ts-container div#mw-content-block.ts-inner div#mw-content-wrapper div#mw-content div#content.mw-body.ve-init-mw-desktopArticleTarget-targetContainer div#bodyContentOuter div#bodyContent div#mw-content-text.mw-body-content.mw-content-ltr div.mw-parser-output div.content-table-wrapper div.content-table table.wikitable.sortable.mw-datatable.jquery-tablesorter p');
var paragraphs = document.querySelectorAll('#mw-parser-output p');


// Loop through each paragraph
// Loop through each paragraph

Revision as of 07:02, 10 May 2024

if ( mw.config.get( 'wgPageName' ) === 'Main_Page' ) {
    document.getElementsByTagName('br')[0].remove();
}

if ( mw.config.get( 'wgPageName' ) === 'Main_Page' ) {
    document.getElementsByTagName('h1')[0].remove();
}

// Function to initialize the text parsing and filtering functionality
function initializeTextParser() {
    // Create a search input field
    var searchInput = document.createElement('input');
    searchInput.setAttribute('type', 'text');
    searchInput.setAttribute('id', 'mediawiki-text-parser-input');
    searchInput.setAttribute('placeholder', 'Type to search');
    document.getElementById('mw-content-text').insertBefore(searchInput, document.getElementById('mw-content-text').firstChild);

    // Attach an event listener to the search input field
    searchInput.addEventListener('input', function() {
        var searchText = this.value.toLowerCase();

        // Get all paragraphs in the content area
        var paragraphs = document.querySelectorAll ('html.client-js.ve-not-available body.mediawiki.ltr.sitedir-ltr.mw-hide-empty-elt.ns-0.ns-subject.mw-editable.page-List_of_fan_Nandroids.rootpage-List_of_fan_Nandroids.skin-timeless.action-view.skin--responsive div#mw-wrapper.extension-icons div#mw-content-container.ts-container div#mw-content-block.ts-inner div#mw-content-wrapper div#mw-content div#content.mw-body.ve-init-mw-desktopArticleTarget-targetContainer div#bodyContentOuter div#bodyContent div#mw-content-text.mw-body-content.mw-content-ltr div.mw-parser-output div.content-table-wrapper div.content-table table.wikitable.sortable.mw-datatable.jquery-tablesorter p');

        // Loop through each paragraph
        for (var i = 0; i < paragraphs.length; i++) {
            var paragraph = paragraphs[i];
            var paragraphText = paragraph.textContent.toLowerCase();

            // Check if the paragraph contains the search text
            if (paragraphText.includes(searchText)) {
                paragraph.style.display = 'block'; // Show the paragraph
            } else {
                paragraph.style.display = 'none'; // Hide the paragraph
            }
        }
    });
}

// Call the initializeTextParser function when the DOM is ready
function initializeTextParserOnLoad() {
    if (document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll)) {
        // The DOM has already loaded, so call initializeTextParser immediately
        initializeTextParser();
    } else {
        // Wait for the DOMContentLoaded event to call initializeTextParser
        document.addEventListener('DOMContentLoaded', initializeTextParser);
    }
}

// Call the initializeTextParserOnLoad function when the entire page is loaded
window.onload = initializeTextParserOnLoad;