diff --git a/src/composables/useStore.ts b/src/composables/useStore.ts index 59774697..5ff4c036 100644 --- a/src/composables/useStore.ts +++ b/src/composables/useStore.ts @@ -23,7 +23,7 @@ export const createStore = (options?: FlowOptions) => { } } const store = useNewStore(storageKey, preloadedState) - if (withStorage && storageKey === store.id?.value) { + if (withStorage && storageKey === store.id) { const toObject = onLoadToObject(store.state) watch( store.state, @@ -39,7 +39,7 @@ export const createStore = (options?: FlowOptions) => { export default (options?: FlowOptions): FlowStore => { const currentInstance = getCurrentInstance() let store = currentInstance ? inject(StoreSymbol, undefined) : false - if (!store || (store && options?.id && options.id !== store.id?.value)) { + if (!store || (store && options?.id && options.id !== store.id)) { store = createStore(options) } if (currentInstance) provide(StoreSymbol, store) diff --git a/src/store/store.ts b/src/store/store.ts index 12aa71fa..f92f15b3 100644 --- a/src/store/store.ts +++ b/src/store/store.ts @@ -8,6 +8,7 @@ export default (id: string, preloadedState: FlowState): Store => { const getters = useGetters(state) const actions = useActions(state, getters) return { + id, state, ...toRefs(state), ...getters, diff --git a/src/types/store.ts b/src/types/store.ts index 0fd1fca3..97f4d447 100644 --- a/src/types/store.ts +++ b/src/types/store.ts @@ -20,7 +20,7 @@ import { NodeExtent, GraphNode, TranslateExtent } from './node' import { D3Selection, D3Zoom, D3ZoomHandler, InitD3ZoomPayload } from './zoom' import { FlowHooks } from './hooks' -export interface FlowState extends Omit { +export interface FlowState extends Omit { hooks: FlowHooks instance?: FlowInstance @@ -89,5 +89,5 @@ export interface FlowGetters { getSelectedNodes: ComputedRef } -export type Store = { state: FlowState } & ToRefs & FlowActions & FlowGetters +export type Store = { id: string; state: FlowState } & ToRefs & FlowActions & FlowGetters export type FlowStore = UnwrapNestedRefs