summaryrefslogtreecommitdiffstats
path: root/webapp/stores/team_store.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/stores/team_store.jsx')
-rw-r--r--webapp/stores/team_store.jsx25
1 files changed, 25 insertions, 0 deletions
diff --git a/webapp/stores/team_store.jsx b/webapp/stores/team_store.jsx
index 2752c6b57..e58c79806 100644
--- a/webapp/stores/team_store.jsx
+++ b/webapp/stores/team_store.jsx
@@ -316,6 +316,23 @@ class TeamStoreClass extends EventEmitter {
member.mention_count -= channelMember.mention_count;
}
}
+
+ incrementMessages(id) {
+ const member = this.my_team_members.filter((m) => m.team_id === id)[0];
+ member.msg_count++;
+ }
+
+ incrementMentionsIfNeeded(id, msgProps) {
+ let mentions = [];
+ if (msgProps && msgProps.mentions) {
+ mentions = JSON.parse(msgProps.mentions);
+ }
+
+ if (mentions.indexOf(UserStore.getCurrentId()) !== -1) {
+ const member = this.my_team_members.filter((m) => m.team_id === id)[0];
+ member.mention_count++;
+ }
+ }
}
var TeamStore = new TeamStoreClass();
@@ -370,6 +387,14 @@ TeamStore.dispatchToken = AppDispatcher.register((payload) => {
TeamStore.emitUnreadChange();
}
break;
+ case ActionTypes.RECEIVED_POST:
+ var id = action.websocketMessageProps ? action.websocketMessageProps.team_id : '';
+ if (TeamStore.getCurrentId() !== id && id.length > 0) {
+ TeamStore.incrementMessages(id);
+ TeamStore.incrementMentionsIfNeeded(id, action.websocketMessageProps);
+ TeamStore.emitChange();
+ }
+ break;
default:
}
});