summaryrefslogtreecommitdiffstats
path: root/web/react/stores
diff options
context:
space:
mode:
Diffstat (limited to 'web/react/stores')
-rw-r--r--web/react/stores/channel_store.jsx14
-rw-r--r--web/react/stores/user_store.jsx33
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);