From 4bbc14b8827338eb6e9c3ffbcd81f7686b066edd Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sat, 3 Feb 2024 16:27:48 +0100 Subject: [PATCH] fix(core): update node dimensions on next tick --- packages/core/src/components/Nodes/NodeWrapper.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/core/src/components/Nodes/NodeWrapper.ts b/packages/core/src/components/Nodes/NodeWrapper.ts index 2ec9345d..26109c4c 100644 --- a/packages/core/src/components/Nodes/NodeWrapper.ts +++ b/packages/core/src/components/Nodes/NodeWrapper.ts @@ -1,4 +1,4 @@ -import { computed, defineComponent, h, onBeforeUnmount, onMounted, provide, ref, watch } from 'vue' +import { computed, defineComponent, h, nextTick, onBeforeUnmount, onMounted, provide, ref, watch } from 'vue' import { until, useVModel } from '@vueuse/core' import { ARIA_NODE_DESC_KEY, @@ -121,13 +121,11 @@ const NodeWrapper = defineComponent({ props.resizeObserver.unobserve(nodeElement.value as HTMLDivElement) }) - watch( - [() => node.value.type, () => node.value.sourcePosition, () => node.value.targetPosition], - () => { + watch([() => node.value.type, () => node.value.sourcePosition, () => node.value.targetPosition], () => { + nextTick(() => { updateNodeDimensions([{ id: props.id, nodeElement: nodeElement.value as HTMLDivElement, forceUpdate: true }]) - }, - { flush: 'pre' }, - ) + }) + }) /** this watcher only updates XYZPosition (when dragging a parent etc) */ watch(