MediaWiki:SupportPage.js: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
No edit summary
No edit summary
Line 21: Line 21:
/* -- New language switcher code -- */
/* -- New language switcher code -- */
var languageSwitcherButton = document.querySelector('.language-switcher__button'),
var languageSwitcherButton = document.querySelector('.language-switcher__button'),
languageSwitcherContent = document.querySelector('.language-switcher__content'),
languageSwitcher = document.querySelector('.language-switcher__content'),
languageSwitcherBackdrop = document.querySelector('.dropdown-backdrop');
languageSwitcherBackdrop = document.querySelector('[data-dropdown-backdrop]');


languageSwitcherButton.onclick = function() {
languageSwitcherButton.addEventListener('click', function() {
if ( languageSwitcherButton.ariaExpanded === 'true' ) {
if ( languageSwitcherButton.ariaExpanded === 'true' ) {
hideLanguageSwitcher();
hideLanguageSwitcher();
} else {
} else {
showLanguageSwitcher();
showLanguageSwitcher();
checkScroll();
}
}
};
});


languageSwitcherBackdrop.onclick = hideLanguageSwitcher;
languageSwitcherBackdrop.addEventListener('click', hideLanguageSwitcher);


function showLanguageSwitcher() {
function showLanguageSwitcher() {
languageSwitcherButton.ariaExpanded = 'true';
languageSwitcherButton.ariaExpanded = 'true';
languageSwitcherContent.hidden = false;
languageSwitcher.hidden = false;
document.body.dataset.dropdownOpen = 'true';
languageSwitcherBackdrop.dataset.dropdownBackdrop = 'active';
}
}


function hideLanguageSwitcher() {
function hideLanguageSwitcher() {
languageSwitcherButton.ariaExpanded = 'false';
languageSwitcherButton.ariaExpanded = 'false';
languageSwitcherContent.hidden = true;
languageSwitcher.hidden = true;
document.body.dataset.dropdownOpen = 'false';
languageSwitcherBackdrop.dataset.dropdownBackdrop = 'inactive';
}
}

function checkScroll() {
if ( languageSwitcher.offsetHeight + languageSwitcher.scrollTop >= languageSwitcher.scrollHeight ) {
languageSwitcher.classList.remove('scroll-shadow');
} else {
languageSwitcher.classList.add('scroll-shadow');
}
}

languageSwitcher.addEventListener('scroll', checkScroll);
/* -- End of new language switcher code -- */
/* -- End of new language switcher code -- */