fed26c36ca
This is to ensure that when there are a lot of unread messages, the user is given the chance to see all of them by being scrolled to the oldest new message. When a new message comes in, the indicator will be incremented. When the user sends a message or switches away from the conversation, the last seen indicator will be removed. FREEBIE
30 lines
780 B
JavaScript
30 lines
780 B
JavaScript
/*
|
|
* vim: ts=4:sw=4:expandtab
|
|
*/
|
|
(function () {
|
|
'use strict';
|
|
window.Whisper = window.Whisper || {};
|
|
|
|
Whisper.LastSeenIndicatorView = Whisper.View.extend({
|
|
className: 'last-seen-indicator-view',
|
|
templateName: 'last-seen-indicator-view',
|
|
initialize: function(options) {
|
|
options = options || {};
|
|
this.count = options.count || 0;
|
|
},
|
|
|
|
increment: function(count) {
|
|
this.count += count;
|
|
this.render();
|
|
},
|
|
|
|
render_attributes: function() {
|
|
var unreadMessages = this.count === 1 ? i18n('unreadMessage')
|
|
: i18n('unreadMessages', [this.count]);
|
|
|
|
return {
|
|
unreadMessages: unreadMessages
|
|
};
|
|
}
|
|
});
|
|
})();
|