mediawiki-extensions-Echo/modules/viewmodel/mw.echo.dm.NotificationList.js
Ricordisamoa 4107a4a495 build: Enable jscs jsDoc rule 'requireNewlineAfterDescription' and make pass
Change-Id: I264fafad95ddb4a4cc925815a62af83744f122e4
2016-03-07 14:29:15 +01:00

45 lines
1,018 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 );