This replaces the pub-sub pattern I had implemented in DataProviderApi, and considerably simplifies subscribing to the progress state in ValueLoader.
Basically, every fetch store now initialises a zustand store to track progress. Each "fetch input" (e.g. dataset+selection for valuesStore) is associated with a progress percentage in the zustand store, and the store can be subscribed to with zustand's useStore hook.
This replaces the pub-sub pattern I had implemented in
DataProviderApi
, and considerably simplifies subscribing to the progress state inValueLoader
.Basically, every fetch store now initialises a zustand store to track progress. Each "fetch input" (e.g. dataset+selection for
valuesStore
) is associated with a progress percentage in the zustand store, and the store can be subscribed to with zustand'suseStore
hook.