update(store): static id for store state

Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
Braks
2021-12-04 15:42:18 +01:00
parent aa72527ad2
commit 0fcf8bbeaa
3 changed files with 5 additions and 4 deletions
+2 -2
View File
@@ -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)
+1
View File
@@ -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,
+2 -2
View File
@@ -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<FlowOptions, 'elements'> {
export interface FlowState extends Omit<FlowOptions, 'elements' | 'id'> {
hooks: FlowHooks
instance?: FlowInstance
@@ -89,5 +89,5 @@ export interface FlowGetters {
getSelectedNodes: ComputedRef<GraphNode[]>
}
export type Store = { state: FlowState } & ToRefs<FlowState> & FlowActions & FlowGetters
export type Store = { id: string; state: FlowState } & ToRefs<FlowState> & FlowActions & FlowGetters
export type FlowStore = UnwrapNestedRefs<Store>