diff options
author | Florian Orben <florian.orben@gmail.com> | 2015-12-04 20:18:49 +0100 |
---|---|---|
committer | Florian Orben <florian.orben@gmail.com> | 2015-12-09 22:29:54 +0100 |
commit | 99d79eee56a1b5a27f18fffd90545b4aef191bba (patch) | |
tree | da57414d03887a1cdff3f8c51caa0bd74db7f0c1 /web/react/utils | |
parent | 985dc06e5fb9d809e4be4e5fff2c3b1ca66c1ea9 (diff) | |
download | chat-99d79eee56a1b5a27f18fffd90545b4aef191bba.tar.gz chat-99d79eee56a1b5a27f18fffd90545b4aef191bba.tar.bz2 chat-99d79eee56a1b5a27f18fffd90545b4aef191bba.zip |
add helper method to add ephemeral messages; also switch 'delete message' to this new method
Diffstat (limited to 'web/react/utils')
-rw-r--r-- | web/react/utils/async_client.jsx | 15 | ||||
-rw-r--r-- | web/react/utils/utils.jsx | 5 |
2 files changed, 19 insertions, 1 deletions
diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx index 88b5aa739..9cdbd73a4 100644 --- a/web/react/utils/async_client.jsx +++ b/web/react/utils/async_client.jsx @@ -82,7 +82,7 @@ export function getChannels(checkVersion) { ); } -export function getChannel(id) { +export function getChannelAndAddUnreadMessages(id, unreadCount) { if (isCallInProgress('getChannel' + id)) { return; } @@ -97,6 +97,7 @@ export function getChannel(id) { return; } + data.channel.total_msg_count += (unreadCount || 0); AppDispatcher.handleServerAction({ type: ActionTypes.RECIEVED_CHANNEL, channel: data.channel, @@ -110,6 +111,10 @@ export function getChannel(id) { ); } +export function getChannel(id) { + getChannelAndAddUnreadMessages(id, 0); +} + export function updateLastViewedAt(id) { let channelId; if (id) { @@ -131,6 +136,14 @@ export function updateLastViewedAt(id) { channelId, () => { callTracker.updateLastViewed = 0; + + var channel = ChannelStore.get(channelId); + var member = ChannelStore.getMember(channelId); + if (channel && member) { + member.msg_count = channel.total_msg_count; + member.last_viewed_at = utils.getTimestamp(); + ChannelStore.setChannelMember(member); + } }, (err) => { callTracker.updateLastViewed = 0; diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx index c2e4276b0..13c7f961a 100644 --- a/web/react/utils/utils.jsx +++ b/web/react/utils/utils.jsx @@ -1254,3 +1254,8 @@ export function isFeatureEnabled(feature) { export function isSystemMessage(post) { return post.type && (post.type.lastIndexOf(Constants.SYSTEM_MESSAGE_PREFIX) === 0); } + +// convenience method to dispatch an event in JS' next event cycle +export function defer(fn) { + setTimeout(fn, 0); +} |