feat(core): add auto pan on node drag

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
braks
2023-02-01 23:32:45 +01:00
committed by Braks
parent 522efd4c94
commit 0dcfd6f9a4
6 changed files with 135 additions and 98 deletions
@@ -46,7 +46,7 @@ const parentNode = $computed(() => (node.parentNode ? findNode(node.parentNode)
const connectedEdges = $computed(() => getConnectedEdges([node], edges))
const nodeElement = ref()
const nodeElement = ref<HTMLDivElement>()
provide(NodeRef, nodeElement)
@@ -89,17 +89,17 @@ onUpdateNodeInternals((updateIds) => {
})
onMounted(() => {
props.resizeObserver.observe(nodeElement.value)
props.resizeObserver.observe(nodeElement.value as HTMLDivElement)
})
onBeforeUnmount(() => {
props.resizeObserver.unobserve(nodeElement.value)
props.resizeObserver.unobserve(nodeElement.value as HTMLDivElement)
})
watch(
[() => node.type, () => node.sourcePosition, () => node.targetPosition],
() => {
updateNodeDimensions([{ id, nodeElement: nodeElement.value, forceUpdate: true }])
updateNodeDimensions([{ id, nodeElement: nodeElement.value as HTMLDivElement, forceUpdate: true }])
},
{ flush: 'pre' },
)