Begin to centralize UI state in annotationUI
This adds the initial infrastructure using Redux for centralizing the UI state as an immutable object accessible via `annotationUI.getState()` which is updated as a result of actions from the UI, network etc. For background on why we want to do this, see the design overview at https://github.com/hypothesis/h/pull/3176 Additionally this commit removes a couple of tests that checked for non-mutation of the selected/focused annotation maps and uses seamless-immutable instead which provides a better guarantee of this, but only in debug builds.
Showing
... | @@ -55,8 +55,10 @@ | ... | @@ -55,8 +55,10 @@ |
"query-string": "^3.0.1", | "query-string": "^3.0.1", | ||
"raf": "^3.1.0", | "raf": "^3.1.0", | ||
"raven-js": "^2.0.2", | "raven-js": "^2.0.2", | ||
"redux": "^3.5.2", | |||
"retry": "^0.8.0", | "retry": "^0.8.0", | ||
"scroll-into-view": "^1.3.1", | "scroll-into-view": "^1.3.1", | ||
"seamless-immutable": "^6.0.1", | |||
"showdown": "^1.2.1", | "showdown": "^1.2.1", | ||
"stringify": "^5.1.0", | "stringify": "^5.1.0", | ||
"through2": "^2.0.1", | "through2": "^2.0.1", | ||
... | ... |
Please register or sign in to comment