aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/ducks/utils
diff options
context:
space:
mode:
authorJason <jason.daurus@gmail.com>2016-06-24 01:01:34 +0800
committerJason <jason.daurus@gmail.com>2016-06-24 01:01:34 +0800
commitc40ff0277bc3a3668ffcfa7b1489998603d3c31c (patch)
tree7bca788e8ed4af6047afa5a7c7c08f55161e70b8 /web/src/js/ducks/utils
parente11d6600bea35eed9b60a95aca8f210f1cdb4dea (diff)
downloadmitmproxy-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.js19
-rwxr-xr-xweb/src/js/ducks/utils/view.js14
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