mediawiki-extensions-Echo/modules/viewmodel/mw.echo.dm.NotificationList.js
Stephane Bisson 623d07011c Stop counting notifications objects on the client
The flyout loads no more than 25 notifications
from a given source. Using those in-memory notification
objects to count how many are currently unread (and
update the badge) produces a result of at most 25.

This patch extracts the responsibility or counting the
unread from the Model/Item/Groupitem structure into
a new UnreadNotificationCounter class. It receives
estimated updates from other components and synchronizes
with the server after markRead/markUnread operations
have completed.

Bug: T129726
Change-Id: I9af4defc00dd491ed2b355eb4e85073476e08ce7
2016-03-25 15:31:00 -04:00

28 lines
596 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 );
} )( mediaWiki );