mutations.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { MutationTree } from 'vuex'
  2. import { guiRuntimeStateInterface as grsi} from './state'
  3. import { material } from 'src/store/simulation-setup/state'
  4. function compare( a:material, b:material ) {
  5. if (a.name == 'link') return -1
  6. if (b.name == 'link') return 1
  7. if (a.name == 'nk-constant') return -1
  8. if (b.name == 'nk-constant') return 1
  9. if (a.name < b.name ) return -1
  10. if (a.name > b.name) return 1
  11. return 0;
  12. }
  13. const mutation: MutationTree<grsi> = {
  14. setIsShowingHelpForInputWithUnits (state: grsi, val: boolean) {state.isShowingHelpForInputWithUnits = val},
  15. setUnits (state: grsi, val: string ) {state.units = val},
  16. setSourceUnits (state: grsi, val: string ) {state.sourceUnits = val},
  17. setIsSourceSameUnits (state: grsi, val: boolean) {state.isSourceSameUnits = val},
  18. setSafeWL (state: grsi, val: {safeFromWL:number, safeToWL:number}) {
  19. state.safeFromWL = val.safeFromWL
  20. state.safeToWL = val.safeToWL
  21. },
  22. addMaterial(state: grsi, material:material) {
  23. state.activatedMaterials.push(material)
  24. state.activatedMaterials.sort( compare );
  25. },
  26. deleteMaterial(state: grsi, label: string) {
  27. const indexToDelete = state.activatedMaterials.findIndex(val => val.name==label)
  28. state.activatedMaterials.splice(indexToDelete,1)
  29. },
  30. // @click="$store.commit('guiRuntime/toggleIsPlot',
  31. // props.row.name
  32. toggleIsPlot(state: grsi, label: string) {
  33. const indexToToggle = state.activatedMaterials.findIndex(val => val.name==label)
  34. state.activatedMaterials[indexToToggle].isPlot = !state.activatedMaterials[indexToToggle].isPlot
  35. },
  36. };
  37. export default mutation;