refactor(node): make expandParent compatible with extent parent
This commit is contained in:
@@ -81,6 +81,7 @@ export type NodeDragItem = {
|
|||||||
parentNode?: string;
|
parentNode?: string;
|
||||||
dragging?: boolean;
|
dragging?: boolean;
|
||||||
origin?: NodeOrigin;
|
origin?: NodeOrigin;
|
||||||
|
expandParent?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type NodeOrigin = [number, number];
|
export type NodeOrigin = [number, number];
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ export function calcNextPosition<NodeType extends NodeBase>(
|
|||||||
: parentPos;
|
: parentPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (node.extent === 'parent') {
|
if (node.extent === 'parent' && !node.expandParent) {
|
||||||
if (node.parentNode && node.width && node.height) {
|
if (node.parentNode && node.width && node.height) {
|
||||||
const currNodeOrigin = node.origin || nodeOrigin;
|
const currNodeOrigin = node.origin || nodeOrigin;
|
||||||
|
|
||||||
@@ -245,7 +245,7 @@ export function calcNextPosition<NodeType extends NodeBase>(
|
|||||||
onError?.('005', errorMessages['error005']());
|
onError?.('005', errorMessages['error005']());
|
||||||
currentExtent = clampedNodeExtent;
|
currentExtent = clampedNodeExtent;
|
||||||
}
|
}
|
||||||
} else if (node.extent && node.parentNode) {
|
} else if (node.extent && node.parentNode && node.extent !== 'parent') {
|
||||||
currentExtent = [
|
currentExtent = [
|
||||||
[node.extent[0][0] + parentPos.x, node.extent[0][1] + parentPos.y],
|
[node.extent[0][0] + parentPos.x, node.extent[0][1] + parentPos.y],
|
||||||
[node.extent[1][0] + parentPos.x, node.extent[1][1] + parentPos.y],
|
[node.extent[1][0] + parentPos.x, node.extent[1][1] + parentPos.y],
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ export function getDragItems<NodeType extends NodeBase>(
|
|||||||
width: n.width,
|
width: n.width,
|
||||||
height: n.height,
|
height: n.height,
|
||||||
origin: n.origin,
|
origin: n.origin,
|
||||||
|
expandParent: n.expandParent,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user