diff options
author | Maximilian Hils <git@maximilianhils.com> | 2018-02-05 08:21:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-05 08:21:27 +0100 |
commit | 05ae3460c018bc33999534ac2dbab8fa3a6c9c96 (patch) | |
tree | cb874f9da3baa32b14da7735938e54a7be2d29c4 /web | |
parent | 91834f98ccb1e586dabb9c269c369a094a00f2f0 (diff) | |
parent | 90d06dcf6fde398a71b54ee863e4df862746eeb3 (diff) | |
download | mitmproxy-05ae3460c018bc33999534ac2dbab8fa3a6c9c96.tar.gz mitmproxy-05ae3460c018bc33999534ac2dbab8fa3a6c9c96.tar.bz2 mitmproxy-05ae3460c018bc33999534ac2dbab8fa3a6c9c96.zip |
Merge pull request #2835 from MatthewShao/mitmweb-sort
[web] Fix unstable sorting
Diffstat (limited to 'web')
-rw-r--r-- | web/package.json | 3 | ||||
-rw-r--r-- | web/src/js/ducks/utils/store.js | 6 | ||||
-rw-r--r-- | web/yarn.lock | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/web/package.json b/web/package.json index 31c2d6d6..77b13e8b 100644 --- a/web/package.json +++ b/web/package.json @@ -37,7 +37,8 @@ "redux-logger": "^3.0.6", "redux-mock-store": "^1.3.0", "redux-thunk": "^2.2.0", - "shallowequal": "^1.0.2" + "shallowequal": "^1.0.2", + "stable": "^0.1.6" }, "devDependencies": { "babel-core": "^6.26.0", diff --git a/web/src/js/ducks/utils/store.js b/web/src/js/ducks/utils/store.js index ac272650..ad2242ee 100644 --- a/web/src/js/ducks/utils/store.js +++ b/web/src/js/ducks/utils/store.js @@ -1,3 +1,5 @@ +import stable from 'stable' + export const SET_FILTER = 'LIST_SET_FILTER' export const SET_SORT = 'LIST_SET_SORT' export const ADD = 'LIST_ADD' @@ -35,7 +37,7 @@ export default function reduce(state = defaultState, action) { switch (action.type) { case SET_FILTER: - view = list.filter(action.filter).sort(action.sort) + view = stable(list.filter(action.filter), action.sort) viewIndex = {} view.forEach((item, index) => { viewIndex[item.id] = index @@ -43,7 +45,7 @@ export default function reduce(state = defaultState, action) { break case SET_SORT: - view = [...view].sort(action.sort) + view = stable([...view], action.sort) viewIndex = {} view.forEach((item, index) => { viewIndex[item.id] = index diff --git a/web/yarn.lock b/web/yarn.lock index aa5ae85f..1930fded 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -5449,6 +5449,10 @@ sshpk@^1.7.0: jsbn "~0.1.0"
tweetnacl "~0.14.0"
+stable@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.6.tgz#910f5d2aed7b520c6e777499c1f32e139fdecb10"
+
statuses@1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
|