From aa248af4956dc92ae6e42ab495ba4c142d4fbe2e Mon Sep 17 00:00:00 2001 From: moklick Date: Mon, 2 Sep 2024 17:35:44 +0200 Subject: [PATCH] chore(system/extends): cleanup --- packages/react/src/store/index.ts | 6 +----- packages/system/src/utils/store.ts | 25 ++++++++++--------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/packages/react/src/store/index.ts b/packages/react/src/store/index.ts index 13f2bcf6..3897d6b2 100644 --- a/packages/react/src/store/index.ts +++ b/packages/react/src/store/index.ts @@ -289,10 +289,6 @@ const createStore = ({ setNodeExtent: (nodeExtent) => { const { nodes, nodeLookup, parentLookup, nodeOrigin, elevateNodesOnSelect } = get(); - set({ - nodeExtent, - }); - adoptUserNodes(nodes, nodeLookup, parentLookup, { nodeOrigin, nodeExtent, @@ -300,7 +296,7 @@ const createStore = ({ checkEquality: false, }); - set({ nodes }); + set({ nodeExtent }); }, panBy: (delta): Promise => { const { transform, width, height, panZoom, translateExtent } = get(); diff --git a/packages/system/src/utils/store.ts b/packages/system/src/utils/store.ts index 3d1ee862..debe5d1d 100644 --- a/packages/system/src/utils/store.ts +++ b/packages/system/src/utils/store.ts @@ -193,16 +193,14 @@ function calculateChildXYZ( nodeOrigin: NodeOrigin, selectedNodeZ: number ) { - const childDimensions = getNodeDimensions(childNode); const parentPosition = parentNode.internals.positionAbsolute; + const childDimensions = getNodeDimensions(childNode); + const positionWithOrigin = getNodePositionWithOrigin(childNode, nodeOrigin); + const clampedPosition = isCoordinateExtent(childNode.extent) + ? clampPosition(positionWithOrigin, childNode.extent, childDimensions) + : positionWithOrigin; - let position = getNodePositionWithOrigin(childNode, nodeOrigin); - - if (isCoordinateExtent(childNode.extent)) { - position = clampPosition(position, childNode.extent, childDimensions); - } - - let absolutePosition = { x: parentPosition.x + position.x, y: parentPosition.y + position.y }; + let absolutePosition = { x: parentPosition.x + clampedPosition.x, y: parentPosition.y + clampedPosition.y }; if (childNode.extent === 'parent') { absolutePosition = clampPositionToParent(absolutePosition, childDimensions, parentNode); @@ -348,14 +346,11 @@ export function updateNodeInternals( if (doUpdate) { const nodeBounds = update.nodeElement.getBoundingClientRect(); - let extent = isCoordinateExtent(node.extent) ? node.extent : nodeExtent; - let positionAbsolute = node.internals.positionAbsolute; + const extent = isCoordinateExtent(node.extent) ? node.extent : nodeExtent; + let { positionAbsolute } = node.internals; + if (node.parentId && node.extent === 'parent') { - positionAbsolute = clampPositionToParent( - positionAbsolute, - getNodeDimensions(node), - nodeLookup.get(node.parentId)! - ); + positionAbsolute = clampPositionToParent(positionAbsolute, dimensions, nodeLookup.get(node.parentId)!); } else if (extent) { positionAbsolute = clampPosition(positionAbsolute, extent, dimensions); }