summaryrefslogtreecommitdiffstats
path: root/web/react/utils/async_client.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2015-10-13 18:23:53 -0400
committerHarrison Healey <harrisonmhealey@gmail.com>2015-10-13 18:23:53 -0400
commit56b02f2ebab6646b1d978b8f873d4949670967e2 (patch)
tree687fa2ccd73e1e122a56a3b9c9deedc18096bcbf /web/react/utils/async_client.jsx
parent998b5f7e11ac07a482e88f5d3ef4fd726cf0c99a (diff)
parent97b2f6ffe7fa09a2188163740865322582b00b59 (diff)
downloadchat-56b02f2ebab6646b1d978b8f873d4949670967e2.tar.gz
chat-56b02f2ebab6646b1d978b8f873d4949670967e2.tar.bz2
chat-56b02f2ebab6646b1d978b8f873d4949670967e2.zip
Merge pull request #968 from hmhealey/plt322
PLT-322 Updated Direct Messages menu
Diffstat (limited to 'web/react/utils/async_client.jsx')
-rw-r--r--web/react/utils/async_client.jsx52
1 files changed, 52 insertions, 0 deletions
diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx
index a903f055b..1bf8a6fee 100644
--- a/web/react/utils/async_client.jsx
+++ b/web/react/utils/async_client.jsx
@@ -637,3 +637,55 @@ export function getMyTeam() {
}
);
}
+
+export function getDirectChannelPreferences() {
+ if (isCallInProgress('getDirectChannelPreferences')) {
+ return;
+ }
+
+ callTracker.getDirectChannelPreferences = utils.getTimestamp();
+ client.getPreferenceCategory(
+ Constants.Preferences.CATEGORY_DIRECT_CHANNEL_SHOW,
+ (data, textStatus, xhr) => {
+ callTracker.getDirectChannelPreferences = 0;
+
+ if (xhr.status === 304 || !data) {
+ return;
+ }
+
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.RECIEVED_PREFERENCES,
+ preferences: data
+ });
+ },
+ (err) => {
+ callTracker.getDirectChannelPreferences = 0;
+ dispatchError(err, 'getDirectChannelPreferences');
+ }
+ );
+}
+
+export function savePreferences(preferences, success, error) {
+ client.savePreferences(
+ preferences,
+ (data, textStatus, xhr) => {
+ if (xhr.status !== 304) {
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.RECIEVED_PREFERENCES,
+ preferences
+ });
+ }
+
+ if (success) {
+ success(data);
+ }
+ },
+ (err) => {
+ dispatchError(err, 'savePreferences');
+
+ if (error) {
+ error();
+ }
+ }
+ );
+}