mediawiki-skins-Vector/resources/skins.vector.js/languageButton.js

39 lines
1.1 KiB
JavaScript
Raw Normal View History

/**
* Checks whether ULS is enabled and if so disables the default
* drop down behavior of the button.
*/
function disableLanguageDropdown() {
var ulsModuleStatus = mw.loader.getState( 'ext.uls.interface' ),
pLangBtnLabel;
if ( ulsModuleStatus && ulsModuleStatus !== 'registered' ) {
mw.loader.using( 'ext.uls.interface' ).then( function () {
var pLangBtn = document.getElementById( 'p-lang-btn' );
if ( !pLangBtn ) {
return;
}
if ( !pLangBtn.querySelectorAll( '.mw-interlanguage-selector' ).length ) {
// The ext.uls.interface module removed the selector, because the feature is disabled. Do nothing.
return;
}
pLangBtn.classList.add( 'vector-menu--hide-dropdown' );
} );
} else {
pLangBtnLabel = document.getElementById( 'p-lang-btn-label' );
if ( !pLangBtnLabel ) {
return;
}
// Remove .mw-interlanguage-selector to show the dropdown arrow since evidently
// ULS is not used.
pLangBtnLabel.classList.remove( 'mw-interlanguage-selector' );
}
}
/**
* Initialize the language button.
*/
module.exports = function () {
disableLanguageDropdown();
};