mediawiki-skins-Vector/resources/skins.vector.js/echo.js
Jon Robson 080b6958e8 Use modern ES6 methods
* Prefer dispatchEvent to $.trigger
* Prefer Object.assign to $.extend
* Prefer URLSearchParams to $.params
* Prefer getAttribute / properties to $.attr
* Prefer document.querySelectorAll over $.find

Change-Id: I5f4464e5bfa11b401e663f0b8761fc6092380627
2023-04-14 13:38:38 -07:00

29 lines
961 B
JavaScript

/**
* Upgrades Echo for icon consistency.
* Undos work inside Echo to replace our button.
*/
function init() {
if ( document.querySelectorAll( '#pt-notifications-alert a, #pt-notifications-notice a' ).length !== 2 ) {
return;
}
mw.hook( 'ext.echo.NotificationBadgeWidget.onInitialize' ).add( function ( badge ) {
const element = badge.$element[ 0 ];
element.classList.add( 'mw-list-item' );
const iconButtonClasses = 'mw-ui-button mw-ui-quiet mw-ui-icon mw-ui-icon-element ';
if ( element.id === 'pt-notifications-alert' ) {
const anchor = element.querySelector( 'a' );
anchor.classList.add( iconButtonClasses + 'mw-ui-icon-bell' );
anchor.classList.remove( 'oo-ui-icon-bell' );
}
if ( element.id === 'pt-notifications-notice' ) {
const anchor = element.querySelector( 'a' );
anchor.classList.add( iconButtonClasses + 'mw-ui-icon-tray' );
anchor.classList.remove( 'oo-ui-icon-tray' );
}
} );
}
module.exports = init;