Replace PipelineStore with Vuex Store
Description
A Vuex store has significant maintainability advantages over the homegrown "Mediator/Service/Store" pattern. Let's start small and replace the PipelineStore
with a Vuex implementation
Context
- The actions are structured in a semi-generic way, while only being used in one place. This feels quite over-engineered.
- There is a lot of message-passing back-and-forth, making the control flow more complex and changes quite noisy. This also leads to inconsistent states (e.g. !21365 (comment 265888324)).
My preferred approach here would be to make the whole thing more streamlined with Vuex. Instead of passing events back-and-forth and assuming states, we could map the states in a Vuex store and interact with getter/setters in the action bar directly.
Next steps
-
Replace PipelineMediator with Vuex Store -
Remove event passing and dispatch store actions directly in components
/cc @fh1ch
Edited by Paul Slaughter