From 965b27b52942cc6bf082355a1540bc0f960f1043 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 17 Jun 2016 22:02:34 +0800 Subject: [web] simplify settings --- mitmproxy/web/static/app.js | 4 ++-- web/src/js/ducks/settings.js | 44 ++++++++------------------------------------ 2 files changed, 10 insertions(+), 38 deletions(-) diff --git a/mitmproxy/web/static/app.js b/mitmproxy/web/static/app.js index 3052ca4e..387062d8 100644 --- a/mitmproxy/web/static/app.js +++ b/mitmproxy/web/static/app.js @@ -131,9 +131,9 @@ "use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(exports,"__esModule",{value:!0});var _redux=require("redux"),_eventLog=require("./eventLog"),_eventLog2=_interopRequireDefault(_eventLog),_websocket=require("./websocket"),_websocket2=_interopRequireDefault(_websocket),_flows=require("./flows"),_flows2=_interopRequireDefault(_flows),_settings=require("./settings"),_settings2=_interopRequireDefault(_settings),_ui=require("./ui"),_ui2=_interopRequireDefault(_ui),rootReducer=(0,_redux.combineReducers)({eventLog:_eventLog2["default"],websocket:_websocket2["default"],flows:_flows2["default"],settings:_settings2["default"],ui:_ui2["default"]});exports["default"]=rootReducer; },{"./eventLog":42,"./flows":43,"./settings":45,"./ui":46,"./websocket":49,"redux":"redux"}],45:[function(require,module,exports){ -"use strict";function reduce(){var e=arguments.length<=0||void 0===arguments[0]?defaultState:arguments[0],t=arguments[1];switch(t.type){case BEGIN_FETCH:return _extends({},e,{pendings:[],req:t.req});case FETCHED:var r=e.pendings||[];return _extends({},e,{pendings:null,settings:r.reduce(reduceData,t.data)});case RESET:return _extends({},e,{pendings:null,settings:t.data||{}});case RECV_WS_MSG:return e.pendings?_extends({},e,{pendings:e.pendings.concat(t)}):_extends({},e,{settings:reduceData(e.settings,t)});default:return e}}function reduceData(e,t){switch(t.cmd){case WS_MSG_CMD_RESET:return t.data||{};case WS_MSG_CMD_UPDATE:return _.merge({},e,t.data);default:return e}}function fetch(){return function(e){var t=$.getJSON("/settings").done(function(t){return e(handleFetchResponse(t.data))}).fail(function(t){return e(handleFetchError(t))});return e({type:BEGIN_FETCH,req:t}),t}}function handleWsMsg(e){return function(t,r){if(e.cmd!==_actions.StoreCmds.RESET)return t({type:RECV_WS_MSG,cmd:e.cmd,data:e.data});var n=r().settings.req;n&&n.abort(),t(reset(e.data))}}function handleFetchResponse(e){return{type:FETCHED,data:e}}function reset(e){return{type:RESET,data:e}}function handleFetchError(e){return function(t,r){t((0,_eventLog.addLogEntry)(e.stack||e.message||e)),t({type:FETCH_ERROR,error:e})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.RECV_WS_MSG=exports.FETCH_ERROR=exports.RESET=exports.FETCHED=exports.BEGIN_FETCH=exports.WS_MSG_CMD_UPDATE=exports.WS_MSG_CMD_RESET=exports.WS_MSG_TYPE=void 0;var _extends=Object.assign||function(e){for(var t=1;t { - const req = $.getJSON('/settings') + dispatch({ type: BEGIN_FETCH }) + return $.getJSON('/settings') .done(msg => dispatch(handleFetchResponse(msg.data))) .fail(error => dispatch(handleFetchError(error))); - - dispatch({ type: BEGIN_FETCH, req }) - - return req } } export function handleWsMsg(msg) { - return (dispatch, getState) => { - if (msg.cmd !== StoreCmds.RESET) { - return dispatch({ type: RECV_WS_MSG, cmd: msg.cmd, data: msg.data }) - } - const req = getState().settings.req - if (req) { - req.abort() - } - dispatch(reset(msg.data)) - } + return { type: RECV_WS_MSG, cmd: msg.cmd, data: msg.data } } export function handleFetchResponse(data) { return { type: FETCHED, data } } -export function reset(data) { - return { type: RESET, data } -} - export function handleFetchError(error) { - return (dispatch, getState) => { - dispatch(addLogEntry(error.stack || error.message || error)) - dispatch({ type: FETCH_ERROR, error }) - } + // @todo let eventLog subscribe to SettingsActions.FETCH_ERROR + return addLogEntry(error.stack || error.message || error) } -- cgit v1.2.3