MediaWiki:Common.js: Difference between revisions
Tag: Undo |
No edit summary |
||
| Line 4: | Line 4: | ||
$(function () { | $(function () { | ||
/* Add the hamburger menu button */ | /* Add the hamburger menu button */ | ||
var hamburgerContainer = document.getElementById( | var hamburgerContainer = document.getElementById("p-namespaces"); | ||
var hamburger = document.getElementById( | var hamburger = document.getElementById("p-namespaces-label"); | ||
hamburger.innerHTML = | hamburger.innerHTML = "<i class="fa fa-bars"></i>"; | ||
hamburgerContainer.setAttribute( | hamburgerContainer.setAttribute("onclick","toggleMenu();"); | ||
hamburger.style.display = | hamburger.style.display = "initial"; | ||
/* Open regular edition and kanji by default if they are on the page */ | /* Open regular edition and kanji by default if they are on the page */ | ||
if (document.getElementsByClassName( | if (document.getElementsByClassName("language-items").length > 0) { | ||
document.getElementById( | document.getElementById("tab-kanji").click(); | ||
} | } | ||
if (document.getElementsByClassName( | if (document.getElementsByClassName("edition-items").length > 0) { | ||
document.getElementById( | document.getElementById("tab-re").click(); | ||
} | } | ||
| Line 26: | Line 26: | ||
function toggleMenu() { | function toggleMenu() { | ||
if (isShownburger) { | if (isShownburger) { | ||
document.getElementById( | document.getElementById("mw-panel").style.display = "none"; | ||
isShownburger = false; | isShownburger = false; | ||
} | } | ||
else { | else { | ||
document.getElementById( | document.getElementById("mw-panel").style.display = "initial"; | ||
isShownburger = true; | isShownburger = true; | ||
} | } | ||
| Line 41: | Line 41: | ||
var i, langcontent, languagetab, newcontent; | var i, langcontent, languagetab, newcontent; | ||
// Get all elements with class= | // Get all elements with class="language-content" and hide them | ||
langcontent = document.getElementsByClassName( | langcontent = document.getElementsByClassName("language-items"); | ||
for (i = 0; i < langcontent.length; i++) { | for (i = 0; i < langcontent.length; i++) { | ||
langcontent[i].style.display = | langcontent[i].style.display = "none"; | ||
} | } | ||
// Get all elements with class= | // Get all elements with class="tab-language" and remove the class "active" | ||
languagetab = document.getElementsByClassName( | languagetab = document.getElementsByClassName("tab-language"); | ||
for (i = 0; i < languagetab.length; i++) { | for (i = 0; i < languagetab.length; i++) { | ||
languagetab[i].className = languagetab[i].className.replace( | languagetab[i].className = languagetab[i].className.replace(" active", ""); | ||
} | } | ||
// Show the current content, and add an | // Show the current content, and add an "active" class to the button that opened the tab | ||
newcontent = document.getElementsByClassName( | newcontent = document.getElementsByClassName("language-items" + " " + language); | ||
for (i = 0; i < newcontent.length; i++) { | for (i = 0; i < newcontent.length; i++) { | ||
newcontent[i].style.display = | newcontent[i].style.display = "initial"; | ||
} | } | ||
event.currentTarget.className += | event.currentTarget.className += " active"; | ||
return; | return; | ||
} | } | ||
Revision as of 16:40, 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 < langcontent.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 < newcontent.length; i++) {
newcontent[i].style.display = "initial";
}
event.currentTarget.className += " active";
return;
}
function showEdition(event, edition) {
return;
}