MediaWiki:Common.js: Difference between revisions

From Blank Chronicle
No edit summary
No edit summary
Line 39: Line 39:
function showLanguage(event, language) {
function showLanguage(event, language) {


     var i, content, languagetab, newcontent;
     var i, langcontent, languagetab, newcontent;


     // Get all elements with class="language-content" and hide them
     // Get all elements with class="language-content" and hide them
     content = document.getElementsByClassName("language-items");
     langcontent = document.getElementsByClassName("language-items");
     for (i = 0; i < content.length; i++) {
     for (i = 0; i < content.length; i++) {
       content[i].style.display = "none";
       langcontent[i].style.display = "none";
     }
     }


Line 54: Line 54:


     // Show the current content, and add an "active" class to the button that opened the tab
     // Show the current content, and add an "active" class to the button that opened the tab
     newlanguagecontent = document.getElementsByClassName("language-items" + " " + language);
     newcontent = document.getElementsByClassName("language-items" + " " + language);
     for (i = 0; i < newlanguagecontent.length; i++) {
     for (i = 0; i < newlanguagecontent.length; i++) {
       newlanguagecontent[i].style.display = "initial";
       newcontent[i].style.display = "initial";
     }
     }
     event.currentTarget.className += " active";
     event.currentTarget.className += " active";
}
}

Revision as of 04:26, 18 July 2020

/* Any JavaScript here will be loaded for all users on every page load. */

/* Add the hamburger menu button */
$(function () {
        /* Add the hamburger menu button */
	var hamburgerContainer = document.getElementById('p-namespaces');
	var hamburger = document.getElementById('p-namespaces-label');
        hamburger.innerHTML = '<i class="fa fa-bars"></i>';
        hamburgerContainer.setAttribute("onclick","toggleMenu();");
        hamburger.style.display = 'initial';
        
        /* Open regular edition and kanji by default if they are on the page */
        if (document.getElementsByClassName("language-items").length > 0) {
            document.getElementById("tab-kanji").click();
        }

        if (document.getElementsByClassName("edition-items").length > 0) {
            document.getElementById("tab-re").click();
        }

}());

/* Make the hamburger work */
var isShownburger = false;

function toggleMenu() {
    if (isShownburger) {
        document.getElementById("mw-panel").style.display = "none";
        isShownburger = false;
        }
        else {
        document.getElementById("mw-panel").style.display = "initial";
        isShownburger = true;
        }
        return isShownburger;
}

/* Make the language and edition selectors work */
function showLanguage(event, language) {

    var i, langcontent, languagetab, newcontent;

    // Get all elements with class="language-content" and hide them
    langcontent = document.getElementsByClassName("language-items");
    for (i = 0; i < content.length; i++) {
      langcontent[i].style.display = "none";
    }

    // Get all elements with class="tab-language" and remove the class "active"
    languagetab = document.getElementsByClassName("tab-language");
    for (i = 0; i < languagetab.length; i++) {
      languagetab[i].className = languagetab[i].className.replace(" active", "");
    }

    // Show the current content, and add an "active" class to the button that opened the tab
    newcontent = document.getElementsByClassName("language-items" + " " + language);
    for (i = 0; i < newlanguagecontent.length; i++) {
      newcontent[i].style.display = "initial";
    }
    event.currentTarget.className += " active";
}