diff options
Diffstat (limited to 'web/react/stores')
-rw-r--r-- | web/react/stores/channel_store.jsx | 14 | ||||
-rw-r--r-- | web/react/stores/user_store.jsx | 33 |
2 files changed, 23 insertions, 24 deletions
diff --git a/web/react/stores/channel_store.jsx b/web/react/stores/channel_store.jsx index d1f548d50..cc0d0d14b 100644 --- a/web/react/stores/channel_store.jsx +++ b/web/react/stores/channel_store.jsx @@ -4,6 +4,7 @@ var AppDispatcher = require('../dispatcher/app_dispatcher.jsx'); var EventEmitter = require('events').EventEmitter; +var Utils; var Constants = require('../utils/constants.jsx'); var ActionTypes = Constants.ActionTypes; @@ -183,16 +184,11 @@ class ChannelStoreClass extends EventEmitter { channels.push(channel); } - channels.sort(function chanSort(a, b) { - if (a.display_name.toLowerCase() < b.display_name.toLowerCase()) { - return -1; - } - if (a.display_name.toLowerCase() > b.display_name.toLowerCase()) { - return 1; - } - return 0; - }); + if (!Utils) { + Utils = require('../utils/utils.jsx'); //eslint-disable-line global-require + } + channels.sort(Utils.sortByDisplayName); this.pStoreChannels(channels); } pStoreChannels(channels) { diff --git a/web/react/stores/user_store.jsx b/web/react/stores/user_store.jsx index 2ad5a2ffa..4fa7224b7 100644 --- a/web/react/stores/user_store.jsx +++ b/web/react/stores/user_store.jsx @@ -188,12 +188,13 @@ class UserStoreClass extends EventEmitter { } getActiveOnlyProfiles() { - var active = {}; - var current = this.getProfiles(); + const active = {}; + const profiles = this.getProfiles(); + const currentId = this.getCurrentId(); - for (var key in current) { - if (current[key].delete_at === 0) { - active[key] = current[key]; + for (var key in profiles) { + if (profiles[key].delete_at === 0 && profiles[key].id !== currentId) { + active[key] = profiles[key]; } } @@ -203,9 +204,10 @@ class UserStoreClass extends EventEmitter { getActiveOnlyProfileList() { const profileMap = this.getActiveOnlyProfiles(); const profiles = []; + const currentId = this.getCurrentId(); for (const id in profileMap) { - if (profileMap.hasOwnProperty(id)) { + if (profileMap.hasOwnProperty(id) && id !== currentId) { profiles.push(profileMap[id]); } } @@ -219,6 +221,14 @@ class UserStoreClass extends EventEmitter { BrowserStore.setItem('profiles', ps); } + saveProfiles(profiles) { + const currentId = this.getCurrentId(); + if (currentId in profiles) { + delete profiles[currentId]; + } + BrowserStore.setItem('profiles', profiles); + } + setSessions(sessions) { BrowserStore.setItem('sessions', sessions); } @@ -304,15 +314,8 @@ UserStore.dispatchToken = AppDispatcher.register((payload) => { switch (action.type) { case ActionTypes.RECIEVED_PROFILES: - for (var id in action.profiles) { - // profiles can have incomplete data, so don't overwrite current user - if (id === UserStore.getCurrentId()) { - continue; - } - var profile = action.profiles[id]; - UserStore.saveProfile(profile); - UserStore.emitChange(profile.id); - } + UserStore.saveProfiles(action.profiles); + UserStore.emitChange(); break; case ActionTypes.RECIEVED_ME: UserStore.setCurrentUser(action.me); |