mediawiki-extensions-Echo/modules/viewmodel/mw.echo.dm.NotificationList.js
Stephane Bisson eb873aaa60 Include cross-wiki notifications in unread count
* Client-side only. The backend already counts those.

Bug: T124109
Change-Id: I62e49524bc8cea1ef2d77255e29ff8a919bd1ee7
2016-02-29 16:02:05 -05:00

44 lines
1,014 B
JavaScript

( function ( mw ) {
/**
* Notification list
*
* @class
* @mixins OO.EventEmitter
* @mixins mw.echo.dm.List
*
* @constructor
* @param {Object} [config] Configuration object
*/
mw.echo.dm.NotificationList = function MwEchoDmNotificationList() {
// Mixin constructor
OO.EventEmitter.call( this );
// Mixin constructor
mw.echo.dm.List.call( this );
};
/* Initialization */
OO.initClass( mw.echo.dm.NotificationList );
OO.mixinClass( mw.echo.dm.NotificationList, OO.EventEmitter );
OO.mixinClass( mw.echo.dm.NotificationList, mw.echo.dm.List );
/* Methods */
/**
* Count the number of notifications by asking all contained objects
* how many notifications they each represent. Some are single, some
* are groups.
* @return {number}
*/
mw.echo.dm.NotificationList.prototype.getNotificationCount = function () {
var sum = 0;
this.getItems().forEach( function ( notificationItem ) {
sum += notificationItem.getCount();
} );
return sum;
};
} )( mediaWiki );