summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-10-13 15:18:01 -0400
committerhmhealey <harrisonmhealey@gmail.com>2015-10-13 15:36:58 -0400
commit97b2f6ffe7fa09a2188163740865322582b00b59 (patch)
tree69c11911d8c364b8d6bb31c2723a8f046b8b61e3 /web
parent2a39e8dbfab8506b09d0d030f87cac4c079b975a (diff)
downloadchat-97b2f6ffe7fa09a2188163740865322582b00b59.tar.gz
chat-97b2f6ffe7fa09a2188163740865322582b00b59.tar.bz2
chat-97b2f6ffe7fa09a2188163740865322582b00b59.zip
Made further changes based on feedback
Diffstat (limited to 'web')
-rw-r--r--web/react/components/sidebar.jsx4
-rw-r--r--web/react/stores/preference_store.jsx22
2 files changed, 14 insertions, 12 deletions
diff --git a/web/react/components/sidebar.jsx b/web/react/components/sidebar.jsx
index 82fc828eb..1caf4caa5 100644
--- a/web/react/components/sidebar.jsx
+++ b/web/react/components/sidebar.jsx
@@ -310,7 +310,9 @@ export default class Sidebar extends React.Component {
this.isLeaving.set(channel.id, true);
const preference = PreferenceStore.setPreference(Constants.Preferences.CATEGORY_DIRECT_CHANNEL_SHOW, channel.teammate_id, 'false');
- AsyncClient.savePreferences(
+
+ // bypass AsyncClient since we've already saved the updated preferences
+ Client.savePreferences(
[preference],
() => {
this.isLeaving.set(channel.id, false);
diff --git a/web/react/stores/preference_store.jsx b/web/react/stores/preference_store.jsx
index 4d7fb9ad6..d71efa10f 100644
--- a/web/react/stores/preference_store.jsx
+++ b/web/react/stores/preference_store.jsx
@@ -9,6 +9,14 @@ const UserStore = require('../stores/user_store.jsx');
const CHANGE_EVENT = 'change';
+function getPreferenceKey(category, name) {
+ return `${category}-${name}`;
+}
+
+function getPreferenceKeyForModel(preference) {
+ return `${preference.category}-${preference.name}`;
+}
+
class PreferenceStoreClass extends EventEmitter {
constructor() {
super();
@@ -28,20 +36,12 @@ class PreferenceStoreClass extends EventEmitter {
this.dispatchToken = AppDispatcher.register(this.handleEventPayload);
}
- getKey(category, name) {
- return `${category}-${name}`;
- }
-
- getKeyForModel(preference) {
- return `${preference.category}-${preference.name}`;
- }
-
getAllPreferences() {
return new Map(BrowserStore.getItem('preferences', []));
}
getPreference(category, name, defaultValue = '') {
- return this.getAllPreferences().get(this.getKey(category, name)) || defaultValue;
+ return this.getAllPreferences().get(getPreferenceKey(category, name)) || defaultValue;
}
getPreferences(category) {
@@ -70,7 +70,7 @@ class PreferenceStoreClass extends EventEmitter {
setPreference(category, name, value) {
const preferences = this.getAllPreferences();
- const key = this.getKey(category, name);
+ const key = getPreferenceKey(category, name);
let preference = preferences.get(key);
if (!preference) {
@@ -109,7 +109,7 @@ class PreferenceStoreClass extends EventEmitter {
const preferences = this.getAllPreferences();
for (const preference of action.preferences) {
- preferences.set(this.getKeyForModel(preference), preference);
+ preferences.set(getPreferenceKeyForModel(preference), preference);
}
this.setAllPreferences(preferences);