mutations.ts 1.3 KB

123456789101112131415161718192021222324252627282930
  1. import { MutationTree } from 'vuex';
  2. import { simulationSetupStateInterface as sssi, simulationSetup, layer } from './state';
  3. import { cloneDeep } from 'lodash'
  4. const mutation: MutationTree<sssi> = {
  5. setGuiState (state: sssi,
  6. newVal: simulationSetup) {
  7. state.gui = cloneDeep(newVal)
  8. // // Possible usage in component
  9. // let simulationSetupGui = reactive(cloneDeep($store.state.simulationSetup.gui))
  10. // const unsubscribe = $store.subscribe((mutation, /*state*/) => {
  11. // if (mutation.type === 'simulationSetup/setGuiState') {
  12. // let key: keyof typeof simulationSetupGui
  13. // for (key in simulationSetupGui) {
  14. // simulationSetupGui[key] = $store.state.simulationSetup.gui[key]
  15. // }
  16. // }
  17. // })
  18. // onBeforeUnmount(()=>unsubscribe())
  19. // watch(simulationSetupGui, () => $store.commit('simulationSetup/setGuiState',simulationSetupGui))
  20. },
  21. setHostIndex (state: sssi, val: number) {state.gui.hostIndex = val},
  22. setFromWL (state: sssi, val: number) {state.gui.fromWL = val},
  23. setToWL (state: sssi, val: number) {state.gui.toWL = val},
  24. setPointsWL (state: sssi, val: number) {state.gui.pointsWL = val},
  25. setLayers (state: sssi, val: layer[]) {state.gui.layers = cloneDeep(val) }
  26. };
  27. export default mutation;