diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2015-10-13 18:23:53 -0400 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2015-10-13 18:23:53 -0400 |
commit | 56b02f2ebab6646b1d978b8f873d4949670967e2 (patch) | |
tree | 687fa2ccd73e1e122a56a3b9c9deedc18096bcbf /web/react/utils/async_client.jsx | |
parent | 998b5f7e11ac07a482e88f5d3ef4fd726cf0c99a (diff) | |
parent | 97b2f6ffe7fa09a2188163740865322582b00b59 (diff) | |
download | chat-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.jsx | 52 |
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(); + } + } + ); +} |