getters.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. export default {
  2. isGdprValidated(state) {
  3. if (!state) return
  4. return state.gdprConsent
  5. },
  6. isHostConfigured(state) {
  7. if (!state) return
  8. return state.hostConfig !== null
  9. },
  10. getHostURI(state, getters) {
  11. if (!state) return
  12. if (getters.isHostConfigured)
  13. return state.hostConfig
  14. },
  15. getUserId(state) {
  16. return state.userId
  17. },
  18. getExperimentId(state) {
  19. return state.experimentId
  20. },
  21. areScenesLoaded(state) {
  22. if (!state) return
  23. return state.scenesList !== null
  24. },
  25. // TODO: Cache scene thumb URI
  26. // areScenesThumbsLoaded(state) {
  27. // return state.scenesList !== null
  28. // }
  29. getAllExperimentProgress: state => () => {
  30. if (!state) return
  31. // use of experiment and user id to store progression
  32. if (state.progression && state.progression[state.experimentId] && state.progression[state.experimentId][state.userId] && state.progression[state.experimentId][state.userId])
  33. return state.progression[state.experimentId][state.userId]
  34. },
  35. getExperimentProgress: state => ({ experimentName, sceneName }) => {
  36. if (!state) return
  37. // use of experiment and user id to store progression
  38. if (state.progression && state.progression[state.experimentId] && state.progression[state.experimentId][state.userId] && state.progression[state.experimentId][state.userId][experimentName])
  39. return state.progression[state.experimentId][state.userId][experimentName][sceneName].data
  40. },
  41. isExperimentDone: state => ({ experimentName, sceneName }) => {
  42. if (!state) return
  43. // use of experiment and user id to store progression
  44. if (state.progression && state.progression[state.experimentId] && state.progression[state.experimentId][state.userId] && state.progression[state.experimentId][state.userId][experimentName])
  45. return state.progression[state.experimentId][state.userId][experimentName][sceneName].done
  46. }
  47. }