From 58d91c367ecdd9f34be76c17ae819c132e8fd590 Mon Sep 17 00:00:00 2001 From: "jacob.viertel@wunderbyte.at" Date: Thu, 4 Jan 2024 15:35:11 +0100 Subject: [PATCH] Bugfix: Starting node shifted --- vue3/components/flowchart/Controls.vue | 2 +- vue3/components/flowchart/LearningPath.vue | 9 ++++----- vue3/composables/setStartingNode.js | 5 +++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/vue3/components/flowchart/Controls.vue b/vue3/components/flowchart/Controls.vue index 27c8279..e3749d4 100644 --- a/vue3/components/flowchart/Controls.vue +++ b/vue3/components/flowchart/Controls.vue @@ -63,7 +63,7 @@ watch(() => store.state.learninggoal[0], (newValue, oldValue) => { setNodes([]) setEdges([]) } - setStartingNode(removeNodes, nextTick, addNodes, nodes.value) + setStartingNode(removeNodes, nextTick, addNodes, nodes.value, 800) }); diff --git a/vue3/components/flowchart/LearningPath.vue b/vue3/components/flowchart/LearningPath.vue index 3faa363..057b06c 100644 --- a/vue3/components/flowchart/LearningPath.vue +++ b/vue3/components/flowchart/LearningPath.vue @@ -239,10 +239,6 @@ function onDrop(event) { } addNodes([newNode]) - if(intersectedNode.value.closestnode.id == 'starting_node'){ - setStartingNode(removeNodes, nextTick, addNodes, nodes.value) - } - // align node position after drop, so it's centered to the mouse nextTick(() => { const node = findNode(newNode.id) @@ -273,6 +269,9 @@ function onDrop(event) { store.state.learninggoal[0].json = { tree: tree, } + if(intersectedNode.value.closestnode.id == 'starting_node'){ + setStartingNode(removeNodes, nextTick, addNodes, nodes.value, 600) + } } else{ notify({ title: 'Node drop refused', @@ -296,7 +295,7 @@ watch( () => nodes.value.length, (newNodes, oldNodes) => { if(oldNodes > newNodes){ - setStartingNode(removeNodes, nextTick, addNodes, nodes.value, true) + setStartingNode(removeNodes, nextTick, addNodes, nodes.value, 600, true) } }, ); diff --git a/vue3/composables/setStartingNode.js b/vue3/composables/setStartingNode.js index 70d27dd..c0e9b85 100644 --- a/vue3/composables/setStartingNode.js +++ b/vue3/composables/setStartingNode.js @@ -16,7 +16,7 @@ let startingNode = { parentCourse: '', } -const setStartingNode = (removeNodes, nextTick, addNodes, nodes, backwards = false) => { +const setStartingNode = (removeNodes, nextTick, addNodes, nodes, skip, backwards = false) => { removeNodes(['starting_node']) nextTick(() => { let rightStartingNode = 0 @@ -25,6 +25,7 @@ const setStartingNode = (removeNodes, nextTick, addNodes, nodes, backwards = fa nodes.forEach((node) => { if(node.parentCourse == 'starting_node' && node.position.x >= rightStartingNode){ + console.log(node.position.x) rightStartingNode = node.position.x if(backwards){ rightStartingNode += node.dimensions.width/2 @@ -33,7 +34,7 @@ const setStartingNode = (removeNodes, nextTick, addNodes, nodes, backwards = fa } }) if(shifted) { - startingNode.position.x = rightStartingNode + 600 + startingNode.position.x = rightStartingNode + skip } addNodes([startingNode]) })