mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-11-25 00:05:29 +00:00
36191fc290
Make sure that when the seen state changes, the badge icon adjusts in case there are two different icons for seen and unseen states. Also organize a bit the unseen/unread status in initialization. And separate and update the icons in the popup head to always fit the status and icon of the badge. Bug: T111432 Change-Id: I891a36c6eace9302b370a3efaf5aa6f57192c17f
55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
( function ( mw, $ ) {
|
|
'use strict';
|
|
|
|
if ( mw.echo.Logger.static.clickThroughEnabled ) {
|
|
mw.loader.using( 'ext.eventLogging', function () {
|
|
mw.eventLog.setDefaults( 'EchoInteraction', {
|
|
version: mw.config.get( 'wgEchoConfig' ).version,
|
|
userId: +mw.config.get( 'wgUserId' ),
|
|
editCount: +mw.config.get( 'wgUserEditCount' )
|
|
} );
|
|
} );
|
|
}
|
|
|
|
// Activate ooui
|
|
$( document ).ready( function () {
|
|
var $existingAlertLink = $( '#pt-notifications_alert a' ),
|
|
$existingMessageLink = $( '#pt-notifications_message a' ),
|
|
numAlerts = $existingAlertLink.text(),
|
|
numMessages = $existingMessageLink.text(),
|
|
hasUnseenAlerts = $existingAlertLink.hasClass( 'mw-echo-unseen-notifications' ),
|
|
hasUnseenMessages = $existingMessageLink.hasClass( 'mw-echo-unseen-notifications' ),
|
|
// Store links
|
|
links = {
|
|
notifications: $( '#pt-notifications_message a' ).attr( 'href' ),
|
|
preferences: $( '#pt-preferences a' ).attr( 'href' )
|
|
};
|
|
|
|
if ( $existingMessageLink.length ) {
|
|
mw.echo.ui.messageWidget = new mw.echo.ui.NotificationBadgeWidget( {
|
|
type: 'message',
|
|
markReadWhenSeen: false,
|
|
numItems: numMessages,
|
|
hasUnseen: hasUnseenMessages,
|
|
badgeIcon: 'speechBubble',
|
|
links: links
|
|
} );
|
|
$existingMessageLink.replaceWith( mw.echo.ui.messageWidget.$element );
|
|
}
|
|
|
|
mw.echo.ui.alertWidget = new mw.echo.ui.NotificationBadgeWidget( {
|
|
type: 'alert',
|
|
markReadWhenSeen: true,
|
|
numItems: numAlerts,
|
|
hasUnseen: hasUnseenAlerts,
|
|
badgeIcon: {
|
|
seen: 'bell',
|
|
unseen: 'bellOn'
|
|
},
|
|
links: links
|
|
} );
|
|
$existingAlertLink.replaceWith( mw.echo.ui.alertWidget.$element );
|
|
} );
|
|
|
|
} )( mediaWiki, jQuery );
|