From 018d711fc6364b060d52cf08bb074dc07e53f185 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Mon, 12 Sep 2022 19:36:22 +0200 Subject: [PATCH] fix(nodes): skip applying node extent on mount --- .../src/components/Nodes/NodeWrapper.vue | 19 ++++--------------- packages/vue-flow/src/utils/graph.ts | 2 +- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/packages/vue-flow/src/components/Nodes/NodeWrapper.vue b/packages/vue-flow/src/components/Nodes/NodeWrapper.vue index 7b4032eb..f4c45a38 100644 --- a/packages/vue-flow/src/components/Nodes/NodeWrapper.vue +++ b/packages/vue-flow/src/components/Nodes/NodeWrapper.vue @@ -79,16 +79,10 @@ const updatePosition = (nodePos: XYZPosition, parentPos?: XYZPosition) => { const updateInternals = () => { if (nodeElement.value) updateNodeDimensions([{ id, nodeElement: nodeElement.value, forceUpdate: true }]) - const currentExtent = applyExtent(node, nodeExtent, parentNode) - - const nextPos = - currentExtent && typeof currentExtent !== 'string' - ? clampPosition(node.position, currentExtent as CoordinateExtent) - : node.position - updatePosition( { - ...nextPos, + x: node.position.x, + y: node.position.y, z: node.computedPosition.z ? node.computedPosition.z : node.selected ? 1000 : 0, }, parentNode ? { ...parentNode.computedPosition } : undefined, @@ -127,14 +121,9 @@ onMounted(() => { () => parentNode?.dimensions, ], ([newX, newY, parentX, parentY, parentZ]) => { - const currentExtent = applyExtent(node, nodeExtent, parentNode) - const nextPos = - currentExtent && typeof currentExtent !== 'string' - ? clampPosition({ x: newX, y: newY }, currentExtent as CoordinateExtent) - : { x: newX, y: newY } - const xyzPos = { - ...nextPos, + x: newX, + y: newY, z: node.selected ? 1000 : 0, } diff --git a/packages/vue-flow/src/utils/graph.ts b/packages/vue-flow/src/utils/graph.ts index faeb6355..7cbda64d 100644 --- a/packages/vue-flow/src/utils/graph.ts +++ b/packages/vue-flow/src/utils/graph.ts @@ -24,7 +24,7 @@ export const getDimensions = (node: HTMLElement): Dimensions => ({ height: node.offsetHeight, }) -export const clamp = (val: number, min = 0, max = 1): number => Math.min(Math.max(val, min), max) +export const clamp = (val: number, min = 0, max = 1) => Math.min(Math.max(val, min), max) export const clampPosition = (position: XYPosition, extent: CoordinateExtent): XYPosition => ({ x: clamp(position.x, extent[0][0], extent[1][0]),