diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/src/js/ducks/settings.js | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/web/src/js/ducks/settings.js b/web/src/js/ducks/settings.js index 05499da5..41e99d29 100644 --- a/web/src/js/ducks/settings.js +++ b/web/src/js/ducks/settings.js @@ -1,4 +1,5 @@ import { StoreCmds } from '../actions' +import { addLogEntry } from './eventLog' export const WS_MSG_TYPE = 'settings' export const WS_MSG_CMD_RESET = 'reset' @@ -11,20 +12,6 @@ export const RECV_WS_MSG = 'SETTINGS_RECV_WS_MSG' const defaultState = { settings: {}, pendings: null, req: null } -function reduceData(data, action) { - switch (action.cmd) { - - case WS_MSG_CMD_RESET: - return action.data || {} - - case WS_MSG_CMD_UPDATE: - return _.merge({}, data.settings, action.data) - - default: - return data - } -} - export default function reduce(state = defaultState, action) { switch (action.type) { @@ -46,6 +33,20 @@ export default function reduce(state = defaultState, action) { } } +function reduceData(data, action) { + switch (action.cmd) { + + case WS_MSG_CMD_RESET: + return action.data || {} + + case WS_MSG_CMD_UPDATE: + return _.merge({}, data.settings, action.data) + + default: + return data + } +} + export function fetch() { return dispatch => { const req = $.getJSON('/' + this.type) @@ -76,6 +77,8 @@ export function reset(data) { } export function handleFetchError(error) { - console.error(error) - return { type: FETCH_ERROR, error } + return (dispatch, getState) => { + dispatch(addLogEntry(error.stack || error.message || error)) + dispatch({ type: FETCH_ERROR, error }) + } } |