mediawiki-skins-Vector/resources/skins.vector.js/languageButton.js
Jan Drewniak 2cf705bf79 Refactor languageButton.js using mw.util.addPortletLink
Per comment in related patch d05f251

Change-Id: If49dfe55e8450f1a7ed6968f4907ae458072560a
2023-03-28 20:53:23 +00:00

42 lines
1 KiB
JavaScript

/**
* Copies interwiki links to main menu
*
* Temporary solution to T287206, can be removed when the new ULS built in Vue.js
* has been released and contains this
*/
function addInterwikiLinkToMainMenu() {
// eslint-disable-next-line no-jquery/no-global-selector
var $editLink = $( '#p-lang-btn .wbc-editpage' ),
addInterlanguageLink;
if ( !$editLink.length ) {
return;
}
// @ts-ignore
addInterlanguageLink = mw.util.addPortletLink(
'p-tb',
$editLink.attr( 'href' ) || '#',
// Original text is "Edit links".
// Since its taken out of context the title is more descriptive.
$editLink.attr( 'title' ),
'wbc-editpage',
$editLink.attr( 'title' )
);
if ( addInterlanguageLink ) {
addInterlanguageLink.addEventListener( 'click', function ( /** @type {Event} */ e ) {
e.preventDefault();
// redirect to the detached and original edit link
$editLink.trigger( 'click' );
} );
}
}
/**
* Initialize the language button.
*/
module.exports = function () {
addInterwikiLinkToMainMenu();
};