From ca919538cc402ed90ce42ffc3ef98994bb1081f4 Mon Sep 17 00:00:00 2001 From: hmhealey Date: Thu, 13 Aug 2015 13:01:21 -0400 Subject: Added ConfigStore that is populated from the server --- web/react/utils/async_client.jsx | 26 ++++++++++++++++++++++++++ web/react/utils/client.jsx | 15 +++++++++++++++ web/react/utils/constants.jsx | 2 ++ 3 files changed, 43 insertions(+) (limited to 'web/react/utils') diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx index f35b0f6cc..afb9a1d79 100644 --- a/web/react/utils/async_client.jsx +++ b/web/react/utils/async_client.jsx @@ -4,6 +4,7 @@ var client = require('./client.jsx'); var AppDispatcher = require('../dispatcher/app_dispatcher.jsx'); var ChannelStore = require('../stores/channel_store.jsx'); +var ConfigStore = require('../stores/config_store.jsx'); var PostStore = require('../stores/post_store.jsx'); var UserStore = require('../stores/user_store.jsx'); var utils = require('./utils.jsx'); @@ -383,3 +384,28 @@ module.exports.getMyTeam = function() { } ); } + +function getConfig() { + if (isCallInProgress('getConfig')) { + return; + } + + callTracker['getConfig'] = utils.getTimestamp(); + client.getConfig( + function(data, textStatus, xhr) { + callTracker['getConfig'] = 0; + + if (data && xhr.status !== 304) { + AppDispatcher.handleServerAction({ + type: ActionTypes.RECIEVED_CONFIG, + settings: data + }); + } + }, + function(err) { + callTracker['getConfig'] = 0; + dispatchError(err, 'getConfig'); + } + ); +} +module.exports.getConfig = getConfig; diff --git a/web/react/utils/client.jsx b/web/react/utils/client.jsx index 6ae25c66d..250e3edbd 100644 --- a/web/react/utils/client.jsx +++ b/web/react/utils/client.jsx @@ -850,6 +850,21 @@ module.exports.updateValetFeature = function(data, success, error) { module.exports.track('api', 'api_teams_update_valet_feature'); }; +function getConfig(success, error) { + $.ajax({ + url: '/api/v1/config/get_all', + dataType: 'json', + type: 'GET', + ifModified: true, + success: success, + error: function(xhr, status, err) { + var e = handleError('getConfig', xhr, status, err); + error(e); + } + }); +}; +module.exports.getConfig = getConfig; + module.exports.isEmailEnabledSynchronous = function() { var enabled = false; diff --git a/web/react/utils/constants.jsx b/web/react/utils/constants.jsx index bed0ec556..36c6ab653 100644 --- a/web/react/utils/constants.jsx +++ b/web/react/utils/constants.jsx @@ -30,6 +30,8 @@ module.exports = { CLICK_TEAM: null, RECIEVED_TEAM: null, + + RECIEVED_CONFIG: null }), PayloadSources: keyMirror({ -- cgit v1.2.3-1-g7c22