diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-06-05 18:43:17 -0700 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-06-05 18:43:17 -0700 |
commit | d878122cf9c0daabd6f390f53e1fa13dcc1eb3a3 (patch) | |
tree | 0c60f715b671002fb625b6957c4e78e3b4a18bd8 /web/src | |
parent | b6ebde3b1de228c7a3687f1d0de2842f8c0d52d3 (diff) | |
download | mitmproxy-d878122cf9c0daabd6f390f53e1fa13dcc1eb3a3.tar.gz mitmproxy-d878122cf9c0daabd6f390f53e1fa13dcc1eb3a3.tar.bz2 mitmproxy-d878122cf9c0daabd6f390f53e1fa13dcc1eb3a3.zip |
web: fix list update propagation
Diffstat (limited to 'web/src')
-rw-r--r-- | web/src/js/ducks/utils/list.js | 3 | ||||
-rw-r--r-- | web/src/js/ducks/utils/view.js | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/web/src/js/ducks/utils/list.js b/web/src/js/ducks/utils/list.js index 6668e85e..a830fe99 100644 --- a/web/src/js/ducks/utils/list.js +++ b/web/src/js/ducks/utils/list.js @@ -63,7 +63,8 @@ export default function makeList(actionType, fetchURL) { list[itemIndex] = action.item return { ...state, - list + list, + byId: {...state.byId, [action.item.id]: action.item}, } case REMOVE: diff --git a/web/src/js/ducks/utils/view.js b/web/src/js/ducks/utils/view.js index 5535ed83..ff6f4c12 100644 --- a/web/src/js/ducks/utils/view.js +++ b/web/src/js/ducks/utils/view.js @@ -96,10 +96,12 @@ export function updateViewList(currentView, currentList, nextList, action, filte return sortedInsert(currentView, sortFn, action.item) if (isInView && !shouldBeInView) return sortedRemove(currentView, sortFn, action.item) - if (isInView && shouldBeInView && sortFn && sortFn(currentItemState) !== sortFn(nextItemState)) { + if (isInView && shouldBeInView) { let s = [...currentView] - s.sort(makeCompareFn(sortFn)) s.indexOf = x => sortedIndexOf(s, x, sortFn) + s[s.indexOf(currentItemState)] = nextItemState + if (sortFn && sortFn(currentItemState) !== sortFn(nextItemState)) + s.sort(makeCompareFn(sortFn)) return s } return currentView |