MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
var hamburgerContainer = document.getElementById('p-namespaces'); | var hamburgerContainer = document.getElementById('p-namespaces'); | ||
var hamburger = document.getElementById('p-namespaces-label'); | var hamburger = document.getElementById('p-namespaces-label'); | ||
hamburger.innerHTML = '<i class= | hamburger.innerHTML = '<i class='fa fa-bars'></i>'; | ||
hamburgerContainer.setAttribute( | hamburgerContainer.setAttribute('onclick','toggleMenu();'); | ||
hamburger.style.display = 'initial'; | 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:25, 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;
}