pacificclimate/scip-frontend

Move outlet logic into Zustand store

corviday opened this issue · 1 comments

If a user selects an area by clicking on the map:

  1. The selected outlet is passed all the way up the MapDisplay component chain to App
  2. The selected outlet is passed all the way down the AreaDisplay component chain to AreaDisplay
    3. AreaDisplay queries the backend and finds the watershed upstream of that outlet
  3. The watershed is passed all the way up the AreaDisplay component chain to App
  4. The watershed is passed all the way down theDataDisplayand MapDisplay component chains to DataMap and *DataDisplay for analysis and viewing

App, the top level component, "owns" both region and outlet state, to facilitate all this note-passing, despite doing nothing with them except passing them around. Storing the selected outlet and region in a Zustand store would be a lot less complicated.


@rod-glover also suggests loading configuration files directly into the store. We've currently got four; three region-whitelists and one that records default map colours for variables.

There's a full example of loading config files into a Zustand store in pacificclimate/weather-anomaly-tool#97