From cc05ec419dd457a7fd38e8c2ea8e88386d73e75e Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Mon, 11 Mar 2024 09:58:07 +0100 Subject: [PATCH] fix(frontend): Disabled delete node + correctly update debug menu when nodes are deleted (#3387) * fix(frontend): Disabled delete node + correctly handle debug menu * fix(frontend): improve reactivity --- .../apps/components/layout/AppDecisionTree.svelte | 15 +++++++++++++++ .../settingsPanel/DecisionTreeGraphEditor.svelte | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte b/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte index b6c6db5557..d6327968f6 100644 --- a/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte +++ b/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte @@ -151,6 +151,21 @@ subGridIndex: nodes.findIndex((node) => node.id === currentNodeId) } } + + function updateDebuggingComponents() { + const nodeIds = nodes.map((node) => node.id).sort() + const debuggingComponentsIds = Object.keys($debuggingComponents).sort() + + if (JSON.stringify(nodeIds) !== JSON.stringify(debuggingComponentsIds)) { + debuggingComponentsIds.forEach((id) => { + if (!nodeIds.includes(id)) { + delete $debuggingComponents[id] + } + }) + } + } + + $: nodes && $debuggingComponents && updateDebuggingComponents() {#if Object.keys(resolvedConditions).length === nodes.length} diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte index f7bb4db30f..0fc382ba36 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte @@ -64,7 +64,7 @@ nodes = removeNode(nodes, selectedNode) renderCount++ }} - disabled={selectedNode?.next?.length > 1} + disabled={selectedNode?.next?.length > 1 || nodes.length == 1} > Delete node