diff options
Diffstat (limited to 'web/react/stores')
-rw-r--r-- | web/react/stores/admin_store.jsx | 58 | ||||
-rw-r--r-- | web/react/stores/config_store.jsx | 69 | ||||
-rw-r--r-- | web/react/stores/post_store.jsx | 1 |
3 files changed, 59 insertions, 69 deletions
diff --git a/web/react/stores/admin_store.jsx b/web/react/stores/admin_store.jsx new file mode 100644 index 000000000..591b52d05 --- /dev/null +++ b/web/react/stores/admin_store.jsx @@ -0,0 +1,58 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +var AppDispatcher = require('../dispatcher/app_dispatcher.jsx'); +var EventEmitter = require('events').EventEmitter; + +var Constants = require('../utils/constants.jsx'); +var ActionTypes = Constants.ActionTypes; + +var LOG_CHANGE_EVENT = 'log_change'; + +class AdminStoreClass extends EventEmitter { + constructor() { + super(); + + this.logs = null; + + this.emitLogChange = this.emitLogChange.bind(this); + this.addLogChangeListener = this.addLogChangeListener.bind(this); + this.removeLogChangeListener = this.removeLogChangeListener.bind(this); + } + + emitLogChange() { + this.emit(LOG_CHANGE_EVENT); + } + + addLogChangeListener(callback) { + this.on(LOG_CHANGE_EVENT, callback); + } + + removeLogChangeListener(callback) { + this.removeListener(LOG_CHANGE_EVENT, callback); + } + + getLogs() { + return this.logs; + } + + saveLogs(logs) { + this.logs = logs; + } +} + +var AdminStore = new AdminStoreClass(); + +AdminStoreClass.dispatchToken = AppDispatcher.register((payload) => { + var action = payload.action; + + switch (action.type) { + case ActionTypes.RECIEVED_LOGS: + AdminStore.saveLogs(action.logs); + AdminStore.emitLogChange(); + break; + default: + } +}); + +export default AdminStore; diff --git a/web/react/stores/config_store.jsx b/web/react/stores/config_store.jsx deleted file mode 100644 index b397937be..000000000 --- a/web/react/stores/config_store.jsx +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. -// See License.txt for license information. - -var AppDispatcher = require('../dispatcher/app_dispatcher.jsx'); -var EventEmitter = require('events').EventEmitter; - -var BrowserStore = require('../stores/browser_store.jsx'); - -var Constants = require('../utils/constants.jsx'); -var ActionTypes = Constants.ActionTypes; - -var CHANGE_EVENT = 'change'; - -class ConfigStoreClass extends EventEmitter { - constructor() { - super(); - - this.emitChange = this.emitChange.bind(this); - this.addChangeListener = this.addChangeListener.bind(this); - this.removeChangeListener = this.removeChangeListener.bind(this); - this.getSetting = this.getSetting.bind(this); - this.getSettingAsBoolean = this.getSettingAsBoolean.bind(this); - this.updateStoredSettings = this.updateStoredSettings.bind(this); - } - emitChange() { - this.emit(CHANGE_EVENT); - } - addChangeListener(callback) { - this.on(CHANGE_EVENT, callback); - } - removeChangeListener(callback) { - this.removeListener(CHANGE_EVENT, callback); - } - getSetting(key, defaultValue) { - return BrowserStore.getItem('config_' + key, defaultValue); - } - getSettingAsBoolean(key, defaultValue) { - var value = this.getSetting(key, defaultValue); - - if (typeof value !== 'string') { - return Boolean(value); - } - - return value === 'true'; - } - updateStoredSettings(settings) { - for (let key in settings) { - if (settings.hasOwnProperty(key)) { - BrowserStore.setItem('config_' + key, settings[key]); - } - } - } -} - -var ConfigStore = new ConfigStoreClass(); - -ConfigStore.dispatchToken = AppDispatcher.register(function registry(payload) { - var action = payload.action; - - switch (action.type) { - case ActionTypes.RECIEVED_CONFIG: - ConfigStore.updateStoredSettings(action.settings); - ConfigStore.emitChange(); - break; - default: - } -}); - -export default ConfigStore; diff --git a/web/react/stores/post_store.jsx b/web/react/stores/post_store.jsx index 5ffe65021..29ce47300 100644 --- a/web/react/stores/post_store.jsx +++ b/web/react/stores/post_store.jsx @@ -297,6 +297,7 @@ class PostStoreClass extends EventEmitter { post.message = '(message deleted)'; post.state = Constants.POST_DELETED; + post.filenames = []; posts[post.id] = post; this.storeUnseenDeletedPosts(post.channel_id, posts); |