Generalize getCappedNotificationCount and move to counter

This follows the generalization we made in the back-end and allows
us to always use the same method to get capped notification count
in the display.

Bug: T144707
Change-Id: I4d7f406b05a195972dca0d2088bde2ff739d313d
This commit is contained in:
Moriel Schottlender 2016-09-12 14:06:49 -07:00
parent 7f24836607
commit dbd2f4ccf7
2 changed files with 20 additions and 19 deletions

View file

@ -46,6 +46,24 @@
/* Methods */
/**
* Normalizes for a capped count in case the requested count
* is higher than the cap.
*
* This is the client-side version of
* NotificationController::getCappedNotificationCount.
*
* @param {number} count Count before cap is applied
* @return {number} Count with cap applied
*/
mw.echo.dm.UnreadNotificationCounter.prototype.getCappedNotificationCount = function ( count ) {
if ( count <= this.max ) {
return count;
} else {
return this.max + 1;
}
};
/**
* Get the current count
*

View file

@ -50,7 +50,6 @@
// Properties
this.types = this.manager.getTypes();
this.maxNotificationCount = mw.config.get( 'wgEchoMaxNotificationCount' );
this.numItems = config.numItems || 0;
this.badgeLabel = config.badgeLabel || this.numItems;
this.hasRunFirstTime = false;
@ -232,22 +231,6 @@
this.popup.toggle();
};
// Client-side version of NotificationController::getCappedNotificationCount.
/**
* Gets the count to use for display
*
* @param {number} count Count before cap is applied
*
* @return {number} Count with cap applied
*/
mw.echo.ui.NotificationBadgeWidget.prototype.getCappedNotificationCount = function ( count ) {
if ( count <= this.maxNotificationCount ) {
return count;
} else {
return this.maxNotificationCount + 1;
}
};
/**
* Respond to SeenTime model update event
*/
@ -282,9 +265,9 @@
var unreadCount, cappedUnreadCount, badgeLabel;
unreadCount = this.manager.getUnreadCounter().getCount();
cappedUnreadCount = this.getCappedNotificationCount( unreadCount );
cappedUnreadCount = this.manager.getUnreadCounter().getCappedNotificationCount( unreadCount );
cappedUnreadCount = mw.language.convertNumber( cappedUnreadCount );
badgeLabel = mw.message( 'echo-badge-count', cappedUnreadCount ).text();
badgeLabel = mw.message( 'echo-badge-count', mw.language.convertNumber( cappedUnreadCount ) ).text();
this.badgeButton.setLabel( badgeLabel );
this.badgeButton.setCount( unreadCount, badgeLabel );