From f43723f57c678fd7b24051a3947cf86f7816caed Mon Sep 17 00:00:00 2001 From: peterkogo Date: Thu, 17 Apr 2025 09:44:08 +0200 Subject: [PATCH] implement store reset --- packages/svelte/src/lib/store/index.ts | 5 ----- .../svelte/src/lib/store/initial-store.svelte.ts | 13 +++++++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/svelte/src/lib/store/index.ts b/packages/svelte/src/lib/store/index.ts index 0a44b95a..bbdcfee4 100644 --- a/packages/svelte/src/lib/store/index.ts +++ b/packages/svelte/src/lib/store/index.ts @@ -362,13 +362,8 @@ export function createStore(signals: StoreSignals): SvelteFlowStore { } function reset() { - store.selectionRect = null; - store.selectionRectMode = null; - store.resetStoreValues(); - unselectNodesAndEdges(); - cancelConnection(); } const storeWithActions = Object.assign(store, { diff --git a/packages/svelte/src/lib/store/initial-store.svelte.ts b/packages/svelte/src/lib/store/initial-store.svelte.ts index e885b142..ae0f9c1e 100644 --- a/packages/svelte/src/lib/store/initial-store.svelte.ts +++ b/packages/svelte/src/lib/store/initial-store.svelte.ts @@ -236,7 +236,6 @@ export const getInitialStore = (signals: StoreSignals) => { // _viewport is the internal viewport. // when binding to viewport, we operate on signals.viewport instead - initial: boolean = true; _viewport: Viewport = $state(signals.props.initialViewport ?? { x: 0, y: 0, zoom: 1 }); get viewport() { return signals.viewport ?? this._viewport; @@ -361,7 +360,17 @@ export const getInitialStore = (signals: StoreSignals) => { } resetStoreValues() { - // TODO: reset all store values here + this.dragging = false; + this.selectionRect = null; + this.selectionRectMode = null; + this.selectionKeyPressed = false; + this.multiselectionKeyPressed = false; + this.deleteKeyPressed = false; + this.panActivationKeyPressed = false; + this.zoomActivationKeyPressed = false; + this._connection = initialConnection; + this.clickConnectStartHandle = null; + this.viewport = signals.props.initialViewport ?? { x: 0, y: 0, zoom: 1 }; } } return new SvelteFlowStore();