mutations.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { defaultState } from '@/store/state'
  2. import Experiments from '@/router/experiments'
  3. const checkProgression = (state, experimentName, sceneName) => {
  4. if (!state.progression[experimentName])
  5. state.progression[experimentName] = {}
  6. if (!state.progression[experimentName][sceneName])
  7. state.progression[experimentName][sceneName] = { done: false, data: {} }
  8. }
  9. export default {
  10. resetApp(state, { hostConfig, progression }) {
  11. if (hostConfig) state.hostConfig = defaultState.hostConfig
  12. if (progression) state.progression = defaultState.progression
  13. },
  14. setHostConfig(state, newConfig) {
  15. state.hostConfig = newConfig
  16. },
  17. setListScenes(state, scenes) {
  18. state.scenesList = scenes
  19. const scenesProgressObj = scenes.reduce((acc, x) => {
  20. acc[x] = { done: false, data: {} }
  21. return acc
  22. }, {})
  23. const progressionObj = Experiments.reduce((acc, x) => {
  24. acc[x.name] = scenesProgressObj
  25. return acc
  26. }, {})
  27. state.progression = progressionObj
  28. },
  29. setExperimentProgress(state, { experimentName, sceneName, data }) {
  30. checkProgression(state, experimentName, sceneName)
  31. state.progression[experimentName][sceneName].data = data
  32. },
  33. setExperimentDone(state, { experimentName, sceneName, done }) {
  34. checkProgression(state, experimentName, sceneName)
  35. state.progression[experimentName][sceneName].done = done
  36. }
  37. }