feat(core): support origin on node level closes #2874

This commit is contained in:
moklick
2023-03-14 12:42:06 +01:00
parent cca25a792b
commit 13e7cc340c
8 changed files with 26 additions and 19 deletions
+3 -3
View File
@@ -216,7 +216,7 @@ export const getRectOfNodes = (nodes: BaseNode[], nodeOrigin: NodeOrigin = [0, 0
const box = nodes.reduce(
(currBox, node) => {
const { x, y } = getNodePositionWithOrigin(node, nodeOrigin).positionAbsolute;
const { x, y } = getNodePositionWithOrigin(node, node.origin || nodeOrigin).positionAbsolute;
return getBoundsOfBoxes(
currBox,
rectToBox({
@@ -256,7 +256,7 @@ export const getNodesInside = <NodeType extends BaseNode>(
return res;
}
const { positionAbsolute } = getNodePositionWithOrigin(node, nodeOrigin);
const { positionAbsolute } = getNodePositionWithOrigin(node, node.origin || nodeOrigin);
const nodeRect = {
x: positionAbsolute.x,
@@ -316,7 +316,7 @@ export const getD3Transition = (selection: D3SelectionInstance, duration = 0) =>
};
export function fitView<Params extends FitViewParamsBase<BaseNode>, Options extends FitViewOptionsBase<BaseNode>>(
{ nodes, width, height, d3Zoom, d3Selection, nodeOrigin, minZoom, maxZoom }: Params,
{ nodes, width, height, d3Zoom, d3Selection, minZoom, maxZoom, nodeOrigin = [0, 0] }: Params,
options?: Options
) {
const filteredNodes = nodes.filter((n) => {
+2 -2
View File
@@ -172,13 +172,13 @@ export const getPositionWithOrigin = ({
y,
width,
height,
origin,
origin = [0, 0],
}: {
x: number;
y: number;
width: number;
height: number;
origin: NodeOrigin;
origin?: NodeOrigin;
}): XYPosition => {
if (!width || !height) {
return { x, y };