diff --git a/packages/core/src/components/Nodes/NodeWrapper.vue b/packages/core/src/components/Nodes/NodeWrapper.vue index 92e42280..b48cbdcc 100644 --- a/packages/core/src/components/Nodes/NodeWrapper.vue +++ b/packages/core/src/components/Nodes/NodeWrapper.vue @@ -127,10 +127,10 @@ watch( const xyzPos = { x: newX, y: newY, - z: zIndex + (elevateNodesOnSelect ? (node.selected ? 1000 : 0) : 0), + z: (zIndex || 0) + (elevateNodesOnSelect ? (node.selected ? 1000 : 0) : 0), } - if (parentX && parentY) { + if (isNumber(parentX) && isNumber(parentY)) { node.computedPosition = getXYZPos({ x: parentX, y: parentY, z: parentZ! }, xyzPos) } else { node.computedPosition = xyzPos @@ -152,7 +152,7 @@ watch( // todo: do we need to wait for initialized? Or can we clamp the position immediately? until(() => node.initialized) - .toBe(true, { flush: 'pre' }) + .toBe(true) .then(updatePosition) /** this re-calculates the current position, necessary for clamping by a node's extent */ diff --git a/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue b/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue index 9220b3bf..23405b1a 100644 --- a/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue +++ b/packages/core/src/container/EdgeRenderer/EdgeRenderer.vue @@ -53,9 +53,8 @@ const connectionLineVisible = $( let groups = $ref>([]) let stop: WatchStopHandle - onPaneReady(() => { - watch( + stop = watch( [ $$(getSelectedNodes), $$(getEdges),