diff options
author | enahum <nahumhbl@gmail.com> | 2016-12-19 10:05:46 -0300 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2016-12-19 08:05:46 -0500 |
commit | 999d1553e1ce45adf58f6082b160bc1147dc592b (patch) | |
tree | 369a9b7f46dd44d136a79a050469429169433cec /webapp/actions/websocket_actions.jsx | |
parent | 3ce2ce9dc882ed962dc3ce7550bdb07963f376b6 (diff) | |
download | chat-999d1553e1ce45adf58f6082b160bc1147dc592b.tar.gz chat-999d1553e1ce45adf58f6082b160bc1147dc592b.tar.bz2 chat-999d1553e1ce45adf58f6082b160bc1147dc592b.zip |
PLT-4167 Team Sidebar (#4569)
* PLT-4167 Team Sidebar
* Address feedback from PM
* change route from my_members to members
* bug fixes
* Updating styles for teams sidebar (#4681)
* Added PM changes
* Fix corner cases
* Addressing feedback
* use two different endpoints
* Bug fixes
* Rename model and client functions, using preferences to store last team and channel viewed
* Fix mobile notification count and closing the team sidebar
* unit test, fixed bad merge and retrieve from cached when available
* bug fixes
* use id for last channel in preferences, query optimization
* Updating multi team css (#4830)
Diffstat (limited to 'webapp/actions/websocket_actions.jsx')
-rw-r--r-- | webapp/actions/websocket_actions.jsx | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index ec433aab5..6c81a4ac9 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -6,6 +6,7 @@ import $ from 'jquery'; import UserStore from 'stores/user_store.jsx'; import TeamStore from 'stores/team_store.jsx'; import PostStore from 'stores/post_store.jsx'; +import PreferenceStore from 'stores/preference_store.jsx'; import ChannelStore from 'stores/channel_store.jsx'; import BrowserStore from 'stores/browser_store.jsx'; import ErrorStore from 'stores/error_store.jsx'; @@ -122,6 +123,10 @@ function handleEvent(msg) { handleLeaveTeamEvent(msg); break; + case SocketEvents.UPDATE_TEAM: + handleUpdateTeamEvent(msg); + break; + case SocketEvents.USER_ADDED: handleUserAddedEvent(msg); break; @@ -229,21 +234,37 @@ function handleNewUserEvent(msg) { AsyncClient.getUser(msg.data.user_id); AsyncClient.getChannelStats(); loadProfilesAndTeamMembersForDMSidebar(); + + if (msg.data.user_id === UserStore.getCurrentId()) { + AsyncClient.getMyTeamMembers(); + } } function handleLeaveTeamEvent(msg) { if (UserStore.getCurrentId() === msg.data.user_id) { TeamStore.removeMyTeamMember(msg.data.team_id); - // if they are on the team being removed redirect them to the root + // if they are on the team being removed redirect them to default team if (TeamStore.getCurrentId() === msg.data.team_id) { TeamStore.setCurrentId(''); Client.setTeamId(''); - browserHistory.push('/'); + PreferenceStore.deletePreference({ + category: 'last', + name: 'team', + value: msg.data.team_id + }); + GlobalActions.redirectUserToDefaultTeam(); } + } else { + UserStore.removeProfileFromTeam(msg.data.team_id, msg.data.user_id); + TeamStore.removeMemberInTeam(msg.data.team_id, msg.data.user_id); } } +function handleUpdateTeamEvent(msg) { + TeamStore.updateTeam(msg.data.team); +} + function handleDirectAddedEvent(msg) { AsyncClient.getChannel(msg.broadcast.channel_id); loadProfilesAndTeamMembersForDMSidebar(); |