mutations.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { MutationTree } from 'vuex'
  2. import { plotRuntimeStateInterface as prsi, spectraData } from './state'
  3. import {cloneDeep} from 'lodash'
  4. import { Data } from 'plotly.js-dist-min'
  5. const mutation: MutationTree<prsi> = {
  6. setQ (state: prsi, val: spectraData) {
  7. state.WLs = cloneDeep(val.WLs)
  8. state.Qsca = cloneDeep(val.Qsca)
  9. state.Qabs = cloneDeep(val.Qabs)
  10. state.Qext = cloneDeep(val.Qext)
  11. state.Qsca_n = cloneDeep(val.Qsca_n)
  12. state.Qabs_n = cloneDeep(val.Qabs_n)
  13. state.Qext_n = cloneDeep(val.Qext_n)
  14. },
  15. updateSpectraPlot (state: prsi) {
  16. const traceQsca:Partial<Data> = {
  17. x: state.WLs,
  18. y: state.Qsca,
  19. type: 'scatter',
  20. name: 'Qsca'
  21. }
  22. state.spectraPlot.data.push(traceQsca)
  23. },
  24. setQscaPlotToggle (state: prsi, val: boolean) {state.isPlotQsca = val},
  25. setQabsPlotToggle (state: prsi, val: boolean) {state.isPlotQabs = val},
  26. setQextPlotToggle (state: prsi, val: boolean) {state.isPlotQext = val},
  27. resizeSelectorIsPlotMode (state:prsi, val:number) {
  28. while (state.isPlotModeE.length > val) state.isPlotModeE.pop();
  29. while (state.isPlotModeH.length > val) state.isPlotModeH.pop();
  30. while (state.isPlotModeE.length < val) state.isPlotModeE.push(false);
  31. while (state.isPlotModeH.length < val) state.isPlotModeH.push(false);
  32. },
  33. setIsPlotModeE (state:prsi, val:boolean[]) {
  34. for (let i = 0; i< val.length; ++i) state.isPlotModeE[i] = val[i]
  35. },
  36. setIsPlotModeH (state:prsi, val:boolean[]) {
  37. for (let i = 0; i< val.length; ++i) state.isPlotModeH[i] = val[i]
  38. },
  39. setIsAppendPlots (state:prsi, val:boolean) {state.isAppendPlots = val},
  40. }
  41. export default mutation