summaryrefslogtreecommitdiffstats
path: root/web/react/stores
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-12-07 18:13:14 -0500
committerhmhealey <harrisonmhealey@gmail.com>2015-12-07 18:13:14 -0500
commit7d4a9ad376cf346826ab13b7c0d4eec60eb5cb7d (patch)
treef3e456a67acd229d7d770ead1e9d637bd75f63da /web/react/stores
parentb06f11fd632f146a204b4ef1357a8c099bade072 (diff)
downloadchat-7d4a9ad376cf346826ab13b7c0d4eec60eb5cb7d.tar.gz
chat-7d4a9ad376cf346826ab13b7c0d4eec60eb5cb7d.tar.bz2
chat-7d4a9ad376cf346826ab13b7c0d4eec60eb5cb7d.zip
Added preference_changed web socket event
Diffstat (limited to 'web/react/stores')
-rw-r--r--web/react/stores/preference_store.jsx12
-rw-r--r--web/react/stores/socket_store.jsx9
2 files changed, 18 insertions, 3 deletions
diff --git a/web/react/stores/preference_store.jsx b/web/react/stores/preference_store.jsx
index 068bc29c2..e6a1d8a2b 100644
--- a/web/react/stores/preference_store.jsx
+++ b/web/react/stores/preference_store.jsx
@@ -90,8 +90,8 @@ class PreferenceStoreClass extends EventEmitter {
return preference;
}
- emitChange(preferences) {
- this.emit(CHANGE_EVENT, preferences);
+ emitChange() {
+ this.emit(CHANGE_EVENT);
}
addChangeListener(callback) {
@@ -106,6 +106,12 @@ class PreferenceStoreClass extends EventEmitter {
const action = payload.action;
switch (action.type) {
+ case ActionTypes.RECIEVED_PREFERENCE: {
+ const preference = action.preference;
+ this.setPreference(preference.category, preference.name, preference.value);
+ this.emitChange();
+ break;
+ }
case ActionTypes.RECIEVED_PREFERENCES: {
const preferences = this.getAllPreferences();
@@ -114,7 +120,7 @@ class PreferenceStoreClass extends EventEmitter {
}
this.setAllPreferences(preferences);
- this.emitChange(preferences);
+ this.emitChange();
break;
}
}
diff --git a/web/react/stores/socket_store.jsx b/web/react/stores/socket_store.jsx
index 29aa32a08..ee501c149 100644
--- a/web/react/stores/socket_store.jsx
+++ b/web/react/stores/socket_store.jsx
@@ -135,6 +135,10 @@ class SocketStoreClass extends EventEmitter {
handleChannelViewedEvent(msg);
break;
+ case SocketEvents.PREFERENCE_CHANGED:
+ handlePreferenceChangedEvent(msg);
+ break;
+
default:
}
}
@@ -279,6 +283,11 @@ function handleChannelViewedEvent(msg) {
}
}
+function handlePreferenceChangedEvent(msg) {
+ const preference = JSON.parse(msg.props.preference);
+ EventHelpers.emitPreferenceChangedEvent(preference);
+}
+
var SocketStore = new SocketStoreClass();
/*SocketStore.dispatchToken = AppDispatcher.register((payload) => {