1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-09-03 08:42:03 +03:00

Add getter/setter for unread notif counts.

This commit is contained in:
David Baker
2016-01-20 17:16:20 +00:00
parent b3c06dd723
commit 8cb180525e
2 changed files with 29 additions and 0 deletions

View File

@@ -119,9 +119,30 @@ function Room(roomId, opts) {
// data: <receipt data>
// }]
};
this._notificationCounts = {};
}
utils.inherits(Room, EventEmitter);
/**
* Get one of the notification counst for this room
* @param {String} type The type of notification count to get. default: 'total'
* @return {Number} The notification count, or undefined if there is no count
* for this type.
*/
Room.prototype.getUnreadNotificationCount = function(type) {
type = type || 'total';
return this._notificationCounts[type];
}
/**
* Set one of the notification counst for this room
* @param {String} type The type of notification count to set.
* @param {Number} type The new count
*/
Room.prototype.setUnreadNotificationCount = function(type, count) {
this._notificationCounts[type] = count;
}
/**
* Get the avatar URL for a room if one was set.
* @param {String} baseUrl The homeserver base URL. See

View File

@@ -470,6 +470,14 @@ SyncApi.prototype._sync = function(syncOptions, attempt) {
// we do this first so it's correct when any of the events fire
room.unread_notifications = joinObj.unread_notifications || {};
if (joinObj.unread_notifications) {
room.setUnreadNotificationCount(
'total', joinObj.unread_notifications['notification_count']
);
room.setUnreadNotificationCount(
'highlight', joinObj.unread_notifications['highlight_count']
);
}
joinObj.timeline = joinObj.timeline || {};