From f69235b2fce8e06fdc89f5e1ab826eceb58787cf Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Mon, 1 Apr 2024 14:50:44 +0200 Subject: [PATCH] Fixed debouncing --- src/frontend/src/stores/flowsManagerStore.ts | 6 +++++- src/frontend/src/types/zustand/flowsManager/index.ts | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/stores/flowsManagerStore.ts b/src/frontend/src/stores/flowsManagerStore.ts index 020a3e796..9471889c3 100644 --- a/src/frontend/src/stores/flowsManagerStore.ts +++ b/src/frontend/src/stores/flowsManagerStore.ts @@ -104,7 +104,11 @@ const useFlowsManagerStore = create((set, get) => ({ ); } }, - saveFlow: debounce((flow: FlowType, silent?: boolean) => { + saveFlow: (flow: FlowType, silent?: boolean) => { + set({ saveLoading: true }); // set saveLoading true immediately + return get().saveFlowDebounce(flow, silent); // call the debounced function directly + }, + saveFlowDebounce: debounce((flow: FlowType, silent?: boolean) => { set({ saveLoading: true }); return new Promise((resolve, reject) => { updateFlowInDatabase(flow) diff --git a/src/frontend/src/types/zustand/flowsManager/index.ts b/src/frontend/src/types/zustand/flowsManager/index.ts index fa0747e94..817ddd3d1 100644 --- a/src/frontend/src/types/zustand/flowsManager/index.ts +++ b/src/frontend/src/types/zustand/flowsManager/index.ts @@ -12,6 +12,10 @@ export type FlowsManagerStoreType = { setIsLoading: (isLoading: boolean) => void; refreshFlows: () => Promise; saveFlow: (flow: FlowType, silent?: boolean) => Promise | undefined; + saveFlowDebounce: ( + flow: FlowType, + silent?: boolean + ) => Promise | undefined; autoSaveCurrentFlow: ( nodes: Node[], edges: Edge[],