store.ts 763 B

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