From 787017f53c8227e1246b09e412e92316977937ae Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sat, 30 Dec 2023 11:06:37 +0900 Subject: [PATCH] fix: decision tree nits (#2936) * fix(frontend): wip * fix(frontend): wip * fix(frontend): decision tree history * fix(frontend): fix wording --------- Co-authored-by: Faton Ramadani --- .../components/layout/AppDecisionTree.svelte | 16 +++++++++------- .../apps/editor/DecisionTreeDebug.svelte | 15 ++++++++++++++- .../settingsPanel/DecisionTreeGraphEditor.svelte | 4 +++- .../settingsPanel/DecisionTreeGraphNode.svelte | 4 ++++ 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte b/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte index 4c536880e2..0460b93ebf 100644 --- a/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte +++ b/frontend/src/lib/components/apps/components/layout/AppDecisionTree.svelte @@ -41,6 +41,8 @@ $: lastNodeId = nodes?.find((node) => node.next.length === 0)?.id $: isNextDisabled = resolvedNext?.[currentNodeId] === false + const history: string[] = [] + function next() { const resolvedNodeConditions = resolvedConditions[currentNodeId] @@ -55,6 +57,8 @@ found = true currentNodeId = node.next[index].id + history.push(node.id) + selectedConditionIndex = index + 1 $focusedGrid = { @@ -66,12 +70,10 @@ } function prev() { - const previousNode = nodes.find((node) => { - return node.next.find((next) => next.id == currentNodeId) - }) + const previsouNodeId = history.pop() - if (previousNode) { - currentNodeId = previousNode.id + if (previsouNodeId) { + currentNodeId = previsouNodeId selectedConditionIndex = nodes.findIndex((next) => next.id == currentNodeId) @@ -175,8 +177,8 @@ size="xs2" color="dark" endIcon={{ icon: ArrowRight }} - disabled={isNextDisabled} + disabled={isNextDisabled || currentNodeId === lastNodeId} > - {currentNodeId === lastNodeId ? 'Finish' : 'Next'} + Next diff --git a/frontend/src/lib/components/apps/editor/DecisionTreeDebug.svelte b/frontend/src/lib/components/apps/editor/DecisionTreeDebug.svelte index a9037f584c..11ad40fe9a 100644 --- a/frontend/src/lib/components/apps/editor/DecisionTreeDebug.svelte +++ b/frontend/src/lib/components/apps/editor/DecisionTreeDebug.svelte @@ -13,6 +13,7 @@ const dispatch = createEventDispatcher() let isManuallySelected: boolean = false + let selected: number | null = null {#if canDelete}