Closed trentmc closed 4 weeks ago
Do we really need multiple pages for this? I suggest using tabs, this will allow to keep common components such as: SimulationID, State visible on the top and only change the displayed plots.
I suggest using tabs, this will allow to keep common components such as: SimulationID, State visible on the top and only change the displayed plots.
I agree.
Do we really need multiple pages for this?
"Multiple pages" has two meanings:
We are in category (2). We want to implement different tabs, but how you do it with Plotly/Dash is via a "Multi-Page App". (At least that's my understanding of it! If you see a simpler way, go for it.)
This is what I mean: https://dash.plotly.com/dash-core-components/tab
This is what I mean: https://dash.plotly.com/dash-core-components/tab
Thank you for finding that. I think I'd been confused, it had looked like tabs had been deprecated, but digging around right now, it looks like they're still properly supported.
Therefore: yes do go with the "tab" core component.
Ok
TODOs
Specifics: using the same style as "inspiration" below, group the plots with the following Sidebar label -> plots:
Background / motivation
From matplotlib -> streamlit work #749 then streamlit -> dash work #906 we now have beautiful sim plots in a webapp, great. See "status quo screenshot" below.
However there's already a lot of plots in one webapp. They could readily be grouped, each into their own screen, giving them more "space to breathe" with more interactivity etc. For example, impacts + sweeps could go into their own screen.
Towards a solution
What we want is a Plotly/Dash "Multi-Page App", where:
Resources
dash.plotly.com
"Multi-Page Apps and URL Support" docs, video tutorialInspiration
Status quo screenshot