diff --git a/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte b/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte index 44ecb77f..bc0ae5c4 100644 --- a/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte +++ b/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte @@ -1,5 +1,5 @@ diff --git a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte index e47c4da2..5c55c073 100644 --- a/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte +++ b/packages/svelte/src/lib/container/SvelteFlow/SvelteFlow.svelte @@ -41,6 +41,10 @@ store.width.set(width); store.height.set(height); store.domNode.set(domNode); + + return () => { + store.reset(); + } }); $: { diff --git a/packages/svelte/src/lib/store/index.ts b/packages/svelte/src/lib/store/index.ts index c94c44a6..d7a656af 100644 --- a/packages/svelte/src/lib/store/index.ts +++ b/packages/svelte/src/lib/store/index.ts @@ -287,6 +287,15 @@ export function createStore(params: CreateStoreParams): SvelteFlowStore { updateConnection(initConnectionData); } + function reset() { + store.fitViewOnInitDone.set(false); + store.selectionRect.set(null); + store.selectionRectMode.set(null); + + resetSelectedElements(); + cancelConnection(); + } + return { // state ...store, @@ -310,7 +319,8 @@ export function createStore(params: CreateStoreParams): SvelteFlowStore { addSelectedNodes, panBy, updateConnection, - cancelConnection + cancelConnection, + reset }; } diff --git a/packages/svelte/src/lib/store/types.ts b/packages/svelte/src/lib/store/types.ts index c4775b10..f9dde08a 100644 --- a/packages/svelte/src/lib/store/types.ts +++ b/packages/svelte/src/lib/store/types.ts @@ -30,6 +30,7 @@ export type SvelteFlowStoreActions = { panBy: (delta: XYPosition) => void; updateConnection: (connection: Partial) => void; cancelConnection: () => void; + reset(): void; }; export type SvelteFlowStoreState = typeof initialStoreState & {