This should allow state to be more easily retained globally when switching views, and should make implementation of cross-view features like search easier too. It also removes the need for `ReloadableComponent` Fixes #78 Test Plan: This changes a lot of how the app works, and a lot of stuff that isn't currently covered by tests, so here's a rough manual test plan: 1. Loaded up http://localhost:1234/, click to load the example profile 2. Switch between views, see that viewport & selection position is now retained when switching views 3. See that clicking on nodes selects them in Time Order & Left Heavy views 4. See that hitting Cmd+S saves a profile 5. See that dropping a profile in works 6. See that dropping a profile + a symbol map works 7. See that visiting localhost:1234/#profileURL=https://raw.githubusercontent.com/jlfwong/speedscope/master/sample/profiles/speedscope/0.1.2/simple-sampled.speedscope.json works 8. See that hitting "r" to toggle recursion flattening works
1.7 KiB
1.7 KiB