fix(nodes): trigger computedPosition watcher when selected changes

* z-index will not change back if selected does not trigger a change
This commit is contained in:
Braks
2022-04-08 21:09:26 +02:00
parent 8e3fef504c
commit 3064e287e7
2 changed files with 12 additions and 6 deletions

View File

@@ -57,12 +57,18 @@ onMounted(() => {
})
watch(
[() => node.value.position, () => store.getNode(node.value.parentNode!)],
[
() => node.value.position,
() => store.getNode(node.value.parentNode!)?.computedPosition,
() => node.value.selected,
() => store.getNode(node.value.parentNode!)?.selected,
],
([pos, parent]) => {
const xyzPos = {
...pos,
z: node.value.dragging || node.value.selected ? 1000 : node.value.computedPosition.z,
z: node.value.dragging || node.value.selected ? 1000 : 0,
}
if (parent) {
node.value.computedPosition = getXYZPos(parent, xyzPos)
} else {

View File

@@ -339,11 +339,11 @@ export const getTransformForBounds = (
return [x, y, clampedZoom]
}
export const getXYZPos = (parentNode: GraphNode, computedPosition: XYZPosition): XYZPosition => {
export const getXYZPos = (parentPos: XYZPosition, computedPosition: XYZPosition): XYZPosition => {
return {
x: computedPosition.x + parentNode.computedPosition.x,
y: computedPosition.y + parentNode.computedPosition.y,
z: parentNode.computedPosition.z > computedPosition.z ? parentNode.computedPosition.z : computedPosition.z,
x: computedPosition.x + parentPos.x,
y: computedPosition.y + parentPos.y,
z: parentPos.z > computedPosition.z ? parentPos.z : computedPosition.z,
}
}