fix: node not updating handlebounds when handle pos changes
* watch source & target pos and update node dimensions on next tick
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
<script lang="ts" setup>
|
||||
import { DraggableEventListener } from '@braks/revue-draggable'
|
||||
import { watchPostEffect } from 'vue'
|
||||
import { Node, NodeType, SnapGrid } from '~/types'
|
||||
import { NodeIdContextKey } from '~/context'
|
||||
import { useHooks, useStore } from '~/composables'
|
||||
@@ -45,11 +44,8 @@ const onSelectNodeHandler = (event: MouseEvent) => {
|
||||
if (selectable) {
|
||||
store.unsetNodesSelection()
|
||||
|
||||
if (!props.selected) {
|
||||
store.addSelectedElements([n])
|
||||
}
|
||||
if (!props.selected) store.addSelectedElements([n])
|
||||
}
|
||||
|
||||
hooks.nodeClick.trigger({ event, node: n })
|
||||
}
|
||||
}
|
||||
@@ -61,9 +57,7 @@ const onDragStart: DraggableEventListener = ({ event }) => {
|
||||
if (props.selectNodesOnDrag && selectable) {
|
||||
store.unsetNodesSelection()
|
||||
|
||||
if (!props.selected) {
|
||||
store.addSelectedElements([n])
|
||||
}
|
||||
if (!props.selected) store.addSelectedElements([n])
|
||||
} else if (!props.selectNodesOnDrag && !props.selected && selectable) {
|
||||
store.unsetNodesSelection()
|
||||
store.addSelectedElements([])
|
||||
@@ -134,6 +128,18 @@ watch(
|
||||
})
|
||||
},
|
||||
)
|
||||
watch(
|
||||
() => props.node.sourcePosition && props.node.targetPosition,
|
||||
() => {
|
||||
nextTick(() => {
|
||||
store.updateNodeDimensions({
|
||||
id: props.node.id,
|
||||
nodeElement: nodeElement.value,
|
||||
forceUpdate: true,
|
||||
})
|
||||
})
|
||||
},
|
||||
)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
Reference in New Issue
Block a user