store.ts 849 B

12345678910111213141516171819202122232425262728
  1. import { AddressSpace } from '@/ua/AddressSpace'
  2. import { type UABaseNode } from '@/ua/UABaseNode'
  3. import type { UANodeSet } from '@/ua/UANodeSet'
  4. import { defineStore } from 'pinia'
  5. import { ref } from 'vue'
  6. import type { ServerConfig } from './sconfig'
  7. export const useStore = defineStore('user', {
  8. state: () => ({
  9. addressSpace: null as AddressSpace | null,
  10. rootNode: ref<UABaseNode | null>(null),
  11. selectedNode: ref<UABaseNode | null>(null),
  12. sConfig: null as ServerConfig | null
  13. }),
  14. actions: {
  15. setAddressSpace(as: AddressSpace) {
  16. this.addressSpace=as;
  17. this.rootNode=as.findNode("ns=0;i=84")||null;
  18. this.selectedNode=null;
  19. },
  20. addNodeset(nodeset: UANodeSet) {
  21. this.addressSpace?.addNodeset(nodeset);
  22. this.rootNode=this.addressSpace?.findNode("ns=0;i=84")||null;
  23. }
  24. }
  25. })