12345678910111213141516171819202122232425262728 |
- import { AddressSpace } from '@/ua/AddressSpace'
- import { type UABaseNode } from '@/ua/UABaseNode'
- import type { UANodeSet } from '@/ua/UANodeSet'
- import { defineStore } from 'pinia'
- import { ref } from 'vue'
- import { ServerConfig } from './ServerConfig'
- import type { IAddressSpace } from '@/ua/IAddressSpace'
- export const useStore = defineStore('user', {
- state: () => ({
- addressSpace: new AddressSpace([]) as IAddressSpace,
- rootNode: ref<UABaseNode | null>(null),
- selectedNode: ref<UABaseNode | null>(null),
- serverConfig: ServerConfig.load({})
- }),
- actions: {
- setAddressSpace(as: AddressSpace) {
- this.addressSpace=as;
- this.rootNode=this.addressSpace.findNode("ns=0;i=84")||null;
- this.selectedNode=null;
- },
- addNodeset(nodeset: UANodeSet) {
- this.addressSpace?.addNodeset(nodeset);
- this.rootNode=this.addressSpace?.findNode("ns=0;i=84")||null;
- }
- }
- })
|