From 88104fc15fbbd9aa111bf0a5311fa412aae778dc Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 26 Sep 2023 15:55:21 +0200 Subject: [PATCH] refactor(node): make expandParent compatible with extent parent --- packages/system/src/types/nodes.ts | 1 + packages/system/src/utils/graph.ts | 4 ++-- packages/system/src/xydrag/utils.ts | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/system/src/types/nodes.ts b/packages/system/src/types/nodes.ts index 52731a07..9d2359f3 100644 --- a/packages/system/src/types/nodes.ts +++ b/packages/system/src/types/nodes.ts @@ -81,6 +81,7 @@ export type NodeDragItem = { parentNode?: string; dragging?: boolean; origin?: NodeOrigin; + expandParent?: boolean; }; export type NodeOrigin = [number, number]; diff --git a/packages/system/src/utils/graph.ts b/packages/system/src/utils/graph.ts index 3da50ebc..fb7d74c2 100644 --- a/packages/system/src/utils/graph.ts +++ b/packages/system/src/utils/graph.ts @@ -227,7 +227,7 @@ export function calcNextPosition( : parentPos; } - if (node.extent === 'parent') { + if (node.extent === 'parent' && !node.expandParent) { if (node.parentNode && node.width && node.height) { const currNodeOrigin = node.origin || nodeOrigin; @@ -245,7 +245,7 @@ export function calcNextPosition( onError?.('005', errorMessages['error005']()); currentExtent = clampedNodeExtent; } - } else if (node.extent && node.parentNode) { + } else if (node.extent && node.parentNode && node.extent !== 'parent') { currentExtent = [ [node.extent[0][0] + parentPos.x, node.extent[0][1] + parentPos.y], [node.extent[1][0] + parentPos.x, node.extent[1][1] + parentPos.y], diff --git a/packages/system/src/xydrag/utils.ts b/packages/system/src/xydrag/utils.ts index 05d49f74..fbf0e8f9 100644 --- a/packages/system/src/xydrag/utils.ts +++ b/packages/system/src/xydrag/utils.ts @@ -65,6 +65,7 @@ export function getDragItems( width: n.width, height: n.height, origin: n.origin, + expandParent: n.expandParent, })); }