diff options
author | Jason <jason.daurus@gmail.com> | 2016-06-24 01:01:34 +0800 |
---|---|---|
committer | Jason <jason.daurus@gmail.com> | 2016-06-24 01:01:34 +0800 |
commit | c40ff0277bc3a3668ffcfa7b1489998603d3c31c (patch) | |
tree | 7bca788e8ed4af6047afa5a7c7c08f55161e70b8 /web/src/js/ducks/utils | |
parent | e11d6600bea35eed9b60a95aca8f210f1cdb4dea (diff) | |
download | mitmproxy-c40ff0277bc3a3668ffcfa7b1489998603d3c31c.tar.gz mitmproxy-c40ff0277bc3a3668ffcfa7b1489998603d3c31c.tar.bz2 mitmproxy-c40ff0277bc3a3668ffcfa7b1489998603d3c31c.zip |
[web] fix bugs
Diffstat (limited to 'web/src/js/ducks/utils')
-rw-r--r-- | web/src/js/ducks/utils/list.js | 19 | ||||
-rwxr-xr-x | web/src/js/ducks/utils/view.js | 14 |
2 files changed, 21 insertions, 12 deletions
diff --git a/web/src/js/ducks/utils/list.js b/web/src/js/ducks/utils/list.js index 9649dde3..e66a8549 100644 --- a/web/src/js/ducks/utils/list.js +++ b/web/src/js/ducks/utils/list.js @@ -11,22 +11,27 @@ const defaultState = { } export default function reduce(state = defaultState, action) { - if (state.pendingActions && action.type !== RECEIVE) { - return { - ...state, - pendingActions: [...state.pendingActions, action] - } - } - switch (action.type) { case SET: + if (state.pendingActions) { + return { + ...state, + pendingActions: [...state.pendingActions, action] + } + } return { ...state, data: { ...state.data, [action.id]: null, [action.item.id]: action.item } } case CLEAR: + if (state.pendingActions) { + return { + ...state, + pendingActions: [...state.pendingActions, action] + } + } return { ...state, data: { ...state.data, [action.id]: null } diff --git a/web/src/js/ducks/utils/view.js b/web/src/js/ducks/utils/view.js index 31331cf9..3b552378 100755 --- a/web/src/js/ducks/utils/view.js +++ b/web/src/js/ducks/utils/view.js @@ -15,21 +15,23 @@ const defaultState = { export default function reduce(state = defaultState, action) { switch (action.type) { - case UPDATE_FILTER: + case UPDATE_FILTER: { const data = _.values(action.list.data).filter(action.filter).sort(action.sorter) return { ...state, data, indexOf: _.fromPairs(data.map((item, index) => [item.id, index])), } + } - case UPDATE_SORTER: - const data = state.data.slice().sort(action.sorter) + case UPDATE_SORTER: { + const data = [...state.data].sort(action.sorter) return { ...state, data, indexOf: _.fromPairs(data.map((item, index) => [item.id, index])) } + } case ADD: if (state.indexOf[action.item.id] != null || !action.filter(action.item)) { @@ -49,7 +51,7 @@ export default function reduce(state = defaultState, action) { ...sortedRemove(state, action.id), } - case UPDATE: + case UPDATE: { if (state.indexOf[action.item.id] == null) { return } @@ -64,14 +66,16 @@ export default function reduce(state = defaultState, action) { ...nextState, ...sortedInsert(nextState, action.item, action.sorter) } + } - case RECEIVE: + case RECEIVE: { const data = _.values(action.list.data).filter(action.filter).sort(action.sorter) return { ...state, data, indexOf: _.fromPairs(data.map((item, index) => [item.id, index])), } + } default: return state |