@antv/layout 0.3.11 → 0.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { FORCE_LAYOUT_TYPE_MAP } from './constants';
6
6
  import { Base } from "./base";
7
- import { isArray, isNumber, isFunction, traverseTreeUp, isObject, findMinMaxNodeXY } from "../util";
7
+ import { isArray, isNumber, isFunction, traverseTreeUp, isObject, getLayoutBBox } from "../util";
8
8
  import { ConcentricLayout, GridLayout, GForceLayout, MDSLayout } from ".";
9
9
  /**
10
10
  * combined two layouts (inner and outer) for graph with combos
@@ -133,7 +133,7 @@ export class ComboCombinedLayout extends Base {
133
133
  // @ts-ignore
134
134
  const outerLayout = this.outerLayout || new GForceLayout({
135
135
  gravity: 1,
136
- factor: 2,
136
+ factor: 4,
137
137
  linkDistance: (edge, source, target) => {
138
138
  var _a, _b;
139
139
  const nodeSize = ((((_a = source.size) === null || _a === void 0 ? void 0 : _a[0]) || 30) + (((_b = target.size) === null || _b === void 0 ? void 0 : _b[0]) || 30)) / 2;
@@ -155,22 +155,22 @@ export class ComboCombinedLayout extends Base {
155
155
  outerLayout.layout(outerData);
156
156
  }
157
157
  // 根据外部布局结果,平移 innerGraphs 中的节点(第一层)
158
- outerNodes.forEach((oNode) => {
159
- const innerGraph = innerGraphs[oNode.id];
158
+ outerNodes.forEach((outerNode) => {
159
+ const innerGraph = innerGraphs[outerNode.id];
160
160
  if (!innerGraph) {
161
- const node = nodeMap[oNode.id];
161
+ const node = nodeMap[outerNode.id];
162
162
  if (node) {
163
- node.x = oNode.x;
164
- node.y = oNode.y;
163
+ node.x = outerNode.x;
164
+ node.y = outerNode.y;
165
165
  }
166
166
  return;
167
167
  }
168
168
  innerGraph.visited = true;
169
- innerGraph.x = oNode.x;
170
- innerGraph.y = oNode.y;
169
+ innerGraph.x = outerNode.x;
170
+ innerGraph.y = outerNode.y;
171
171
  innerGraph.nodes.forEach((node) => {
172
- node.x += oNode.x;
173
- node.y += oNode.y;
172
+ node.x += outerNode.x;
173
+ node.y += outerNode.y;
174
174
  });
175
175
  });
176
176
  }
@@ -253,7 +253,13 @@ export class ComboCombinedLayout extends Base {
253
253
  });
254
254
  // 根据节点数量、spacing,调整布局参数
255
255
  innerGraphLayout.layout(innerGraphData);
256
- const { minX, minY, maxX, maxY } = findMinMaxNodeXY(innerGraphNodes);
256
+ const { minX, minY, maxX, maxY } = getLayoutBBox(innerGraphNodes);
257
+ // move the innerGraph to [0, 0],for later controled by parent layout
258
+ const center = { x: (maxX + minX) / 2, y: (maxY + minY) / 2 };
259
+ innerGraphData.nodes.forEach(node => {
260
+ node.x -= center.x;
261
+ node.y -= center.y;
262
+ });
257
263
  const innerGraphSize = Math.max(maxX - minX, maxY - minY, minNodeSize) + padding * 2;
258
264
  innerGraphs[treeNode.id] = {
259
265
  id: treeNode.id,
@@ -1 +1 @@
1
- {"version":3,"file":"comboCombined.js","sourceRoot":"","sources":["../../src/layout/comboCombined.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comboCombined.js","sourceRoot":"","sources":["../../src/layout/comboCombined.ts"],"names":[],"mappings":"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"}
package/es/util/math.d.ts CHANGED
@@ -19,7 +19,12 @@ export declare const scaleMatrix: (matrix: Matrix[], ratio: number) => Matrix[];
19
19
  export declare const traverseTreeUp: <T extends {
20
20
  children?: T[] | undefined;
21
21
  }>(data: T, fn: (param: T) => boolean) => void;
22
- export declare const findMinMaxNodeXY: (nodes: OutNode[]) => {
22
+ /**
23
+ * calculate the bounding box for the nodes according to their x, y, and size
24
+ * @param nodes nodes in the layout
25
+ * @returns
26
+ */
27
+ export declare const getLayoutBBox: (nodes: OutNode[]) => {
23
28
  minX: number;
24
29
  minY: number;
25
30
  maxX: number;
package/es/util/math.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { isArray } from './array';
2
+ import { isNumber } from './number';
1
3
  import { isObject } from './object';
2
4
  export const getEdgeTerminal = (edge, type) => {
3
5
  const terminal = edge[type];
@@ -157,20 +159,41 @@ export const traverseTreeUp = (data, fn) => {
157
159
  }
158
160
  traverseUp(data, fn);
159
161
  };
160
- export const findMinMaxNodeXY = (nodes) => {
162
+ /**
163
+ * calculate the bounding box for the nodes according to their x, y, and size
164
+ * @param nodes nodes in the layout
165
+ * @returns
166
+ */
167
+ export const getLayoutBBox = (nodes) => {
161
168
  let minX = Infinity;
162
169
  let minY = Infinity;
163
170
  let maxX = -Infinity;
164
171
  let maxY = -Infinity;
165
172
  nodes.forEach((node) => {
166
- if (minX > node.x)
167
- minX = node.x;
168
- if (minY > node.y)
169
- minY = node.y;
170
- if (maxX < node.x)
171
- maxX = node.x;
172
- if (maxY < node.y)
173
- maxY = node.y;
173
+ let size = node.size;
174
+ if (isArray(size)) {
175
+ if (size.length === 1)
176
+ size = [size[0], size[0]];
177
+ }
178
+ else if (isNumber(size)) {
179
+ size = [size, size];
180
+ }
181
+ else if (size === undefined || isNaN(size)) {
182
+ size = [30, 30];
183
+ }
184
+ const halfSize = [size[0] / 2, size[1] / 2];
185
+ const left = node.x - halfSize[0];
186
+ const right = node.x + halfSize[0];
187
+ const top = node.y - halfSize[1];
188
+ const bottom = node.y + halfSize[1];
189
+ if (minX > left)
190
+ minX = left;
191
+ if (minY > top)
192
+ minY = top;
193
+ if (maxX < right)
194
+ maxX = right;
195
+ if (maxY < bottom)
196
+ maxY = bottom;
174
197
  });
175
198
  return { minX, minY, maxX, maxY };
176
199
  };
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"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"}
@@ -164,7 +164,7 @@ var ComboCombinedLayout = /** @class */ (function (_super) {
164
164
  // @ts-ignore
165
165
  var outerLayout = this.outerLayout || new _1.GForceLayout({
166
166
  gravity: 1,
167
- factor: 2,
167
+ factor: 4,
168
168
  linkDistance: function (edge, source, target) {
169
169
  var _a, _b;
170
170
  var nodeSize = ((((_a = source.size) === null || _a === void 0 ? void 0 : _a[0]) || 30) + (((_b = target.size) === null || _b === void 0 ? void 0 : _b[0]) || 30)) / 2;
@@ -186,22 +186,22 @@ var ComboCombinedLayout = /** @class */ (function (_super) {
186
186
  outerLayout.layout(outerData);
187
187
  }
188
188
  // 根据外部布局结果,平移 innerGraphs 中的节点(第一层)
189
- outerNodes.forEach(function (oNode) {
190
- var innerGraph = innerGraphs[oNode.id];
189
+ outerNodes.forEach(function (outerNode) {
190
+ var innerGraph = innerGraphs[outerNode.id];
191
191
  if (!innerGraph) {
192
- var node = nodeMap[oNode.id];
192
+ var node = nodeMap[outerNode.id];
193
193
  if (node) {
194
- node.x = oNode.x;
195
- node.y = oNode.y;
194
+ node.x = outerNode.x;
195
+ node.y = outerNode.y;
196
196
  }
197
197
  return;
198
198
  }
199
199
  innerGraph.visited = true;
200
- innerGraph.x = oNode.x;
201
- innerGraph.y = oNode.y;
200
+ innerGraph.x = outerNode.x;
201
+ innerGraph.y = outerNode.y;
202
202
  innerGraph.nodes.forEach(function (node) {
203
- node.x += oNode.x;
204
- node.y += oNode.y;
203
+ node.x += outerNode.x;
204
+ node.y += outerNode.y;
205
205
  });
206
206
  });
207
207
  }
@@ -287,7 +287,13 @@ var ComboCombinedLayout = /** @class */ (function (_super) {
287
287
  });
288
288
  // 根据节点数量、spacing,调整布局参数
289
289
  innerGraphLayout.layout(innerGraphData);
290
- var _b = (0, util_1.findMinMaxNodeXY)(innerGraphNodes), minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY;
290
+ var _b = (0, util_1.getLayoutBBox)(innerGraphNodes), minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY;
291
+ // move the innerGraph to [0, 0],for later controled by parent layout
292
+ var center_1 = { x: (maxX + minX) / 2, y: (maxY + minY) / 2 };
293
+ innerGraphData.nodes.forEach(function (node) {
294
+ node.x -= center_1.x;
295
+ node.y -= center_1.y;
296
+ });
291
297
  var innerGraphSize = Math.max(maxX - minX, maxY - minY, minNodeSize_1) + padding * 2;
292
298
  innerGraphs[treeNode.id] = {
293
299
  id: treeNode.id,
@@ -1 +1 @@
1
- {"version":3,"file":"comboCombined.js","sourceRoot":"","sources":["../../src/layout/comboCombined.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comboCombined.js","sourceRoot":"","sources":["../../src/layout/comboCombined.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,12 @@ export declare const scaleMatrix: (matrix: Matrix[], ratio: number) => Matrix[];
19
19
  export declare const traverseTreeUp: <T extends {
20
20
  children?: T[] | undefined;
21
21
  }>(data: T, fn: (param: T) => boolean) => void;
22
- export declare const findMinMaxNodeXY: (nodes: OutNode[]) => {
22
+ /**
23
+ * calculate the bounding box for the nodes according to their x, y, and size
24
+ * @param nodes nodes in the layout
25
+ * @returns
26
+ */
27
+ export declare const getLayoutBBox: (nodes: OutNode[]) => {
23
28
  minX: number;
24
29
  minY: number;
25
30
  maxX: number;
package/lib/util/math.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCoreNodeAndRelativeLeafNodes = exports.getAvgNodePosition = exports.findMinMaxNodeXY = exports.traverseTreeUp = exports.scaleMatrix = exports.getAdjMatrix = exports.floydWarshall = exports.getDegreeMap = exports.getDegree = exports.getEdgeTerminal = void 0;
3
+ exports.getCoreNodeAndRelativeLeafNodes = exports.getAvgNodePosition = exports.getLayoutBBox = exports.traverseTreeUp = exports.scaleMatrix = exports.getAdjMatrix = exports.floydWarshall = exports.getDegreeMap = exports.getDegree = exports.getEdgeTerminal = void 0;
4
+ var array_1 = require("./array");
5
+ var number_1 = require("./number");
4
6
  var object_1 = require("./object");
5
7
  var getEdgeTerminal = function (edge, type) {
6
8
  var terminal = edge[type];
@@ -167,24 +169,45 @@ var traverseTreeUp = function (data, fn) {
167
169
  traverseUp(data, fn);
168
170
  };
169
171
  exports.traverseTreeUp = traverseTreeUp;
170
- var findMinMaxNodeXY = function (nodes) {
172
+ /**
173
+ * calculate the bounding box for the nodes according to their x, y, and size
174
+ * @param nodes nodes in the layout
175
+ * @returns
176
+ */
177
+ var getLayoutBBox = function (nodes) {
171
178
  var minX = Infinity;
172
179
  var minY = Infinity;
173
180
  var maxX = -Infinity;
174
181
  var maxY = -Infinity;
175
182
  nodes.forEach(function (node) {
176
- if (minX > node.x)
177
- minX = node.x;
178
- if (minY > node.y)
179
- minY = node.y;
180
- if (maxX < node.x)
181
- maxX = node.x;
182
- if (maxY < node.y)
183
- maxY = node.y;
183
+ var size = node.size;
184
+ if ((0, array_1.isArray)(size)) {
185
+ if (size.length === 1)
186
+ size = [size[0], size[0]];
187
+ }
188
+ else if ((0, number_1.isNumber)(size)) {
189
+ size = [size, size];
190
+ }
191
+ else if (size === undefined || isNaN(size)) {
192
+ size = [30, 30];
193
+ }
194
+ var halfSize = [size[0] / 2, size[1] / 2];
195
+ var left = node.x - halfSize[0];
196
+ var right = node.x + halfSize[0];
197
+ var top = node.y - halfSize[1];
198
+ var bottom = node.y + halfSize[1];
199
+ if (minX > left)
200
+ minX = left;
201
+ if (minY > top)
202
+ minY = top;
203
+ if (maxX < right)
204
+ maxX = right;
205
+ if (maxY < bottom)
206
+ maxY = bottom;
184
207
  });
185
208
  return { minX: minX, minY: minY, maxX: maxX, maxY: maxY };
186
209
  };
187
- exports.findMinMaxNodeXY = findMinMaxNodeXY;
210
+ exports.getLayoutBBox = getLayoutBBox;
188
211
  /**
189
212
  * 获取节点集合的平均位置信息
190
213
  * @param nodes 节点集合
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/layout",
3
- "version": "0.3.11",
3
+ "version": "0.3.12",
4
4
  "description": "graph layout algorithm",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -13,7 +13,7 @@
13
13
  } from "./types";
14
14
  import { FORCE_LAYOUT_TYPE_MAP } from './constants';
15
15
  import { Base } from "./base";
16
- import { isArray, isNumber, isFunction, traverseTreeUp, isObject, findMinMaxNodeXY } from "../util";
16
+ import { isArray, isNumber, isFunction, traverseTreeUp, isObject, getLayoutBBox } from "../util";
17
17
  import { CircularLayout, ConcentricLayout, GridLayout, RadialLayout, GForceLayout, MDSLayout } from ".";
18
18
 
19
19
  type Node = OutNode & {
@@ -186,7 +186,7 @@ export class ComboCombinedLayout extends Base {
186
186
  // @ts-ignore
187
187
  const outerLayout = this.outerLayout || new GForceLayout({
188
188
  gravity: 1,
189
- factor: 2,
189
+ factor: 4,
190
190
  linkDistance: (edge: any, source: any, target: any) => {
191
191
  const nodeSize = ((source.size?.[0] || 30) + (target.size?.[0] || 30)) / 2;
192
192
  return Math.min(nodeSize * 1.5, 700);
@@ -207,24 +207,24 @@ export class ComboCombinedLayout extends Base {
207
207
  outerLayout.layout(outerData);
208
208
  }
209
209
  // 根据外部布局结果,平移 innerGraphs 中的节点(第一层)
210
- outerNodes.forEach((oNode) => {
211
- const innerGraph = innerGraphs[oNode.id];
210
+ outerNodes.forEach((outerNode) => {
211
+ const innerGraph = innerGraphs[outerNode.id];
212
212
  if (!innerGraph) {
213
- const node = nodeMap[oNode.id];
213
+ const node = nodeMap[outerNode.id];
214
214
  if (node) {
215
- node.x = oNode.x;
216
- node.y = oNode.y;
215
+ node.x = outerNode.x;
216
+ node.y = outerNode.y;
217
217
  }
218
218
  return;
219
219
  }
220
220
  innerGraph.visited = true;
221
- innerGraph.x = oNode.x;
222
- innerGraph.y = oNode.y;
221
+ innerGraph.x = outerNode.x;
222
+ innerGraph.y = outerNode.y;
223
223
  innerGraph.nodes.forEach((node: OutNode) => {
224
- node.x += oNode.x;
225
- node.y += oNode.y;
224
+ node.x += outerNode.x;
225
+ node.y += outerNode.y;
226
226
  });
227
- });
227
+ });
228
228
  }
229
229
 
230
230
  // 至上而下遍历树处理下面各层节点位置
@@ -301,7 +301,13 @@ export class ComboCombinedLayout extends Base {
301
301
  // 根据节点数量、spacing,调整布局参数
302
302
 
303
303
  innerGraphLayout.layout(innerGraphData);
304
- const { minX, minY, maxX, maxY } = findMinMaxNodeXY(innerGraphNodes);
304
+ const { minX, minY, maxX, maxY } = getLayoutBBox(innerGraphNodes);
305
+ // move the innerGraph to [0, 0],for later controled by parent layout
306
+ const center = { x: (maxX + minX) / 2, y: (maxY + minY) / 2 };
307
+ innerGraphData.nodes.forEach(node => {
308
+ node.x -= center.x;
309
+ node.y -= center.y;
310
+ })
305
311
  const innerGraphSize = Math.max(maxX - minX, maxY - minY, minNodeSize) + padding * 2;
306
312
  innerGraphs[treeNode.id] = {
307
313
  id: treeNode.id,
package/src/util/math.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { Matrix, Model, IndexMap, Edge, Node, OutNode, Degree, NodeMap } from '../layout/types';
2
+ import { isArray } from './array';
3
+ import { isNumber } from './number';
2
4
  import { isObject } from './object';
3
5
 
4
6
  export const getEdgeTerminal = (edge: Edge, type: 'source' | 'target') => {
@@ -173,16 +175,36 @@ export const traverseTreeUp = <T extends { children?: T[] }>(
173
175
  traverseUp(data, fn);
174
176
  };
175
177
 
176
- export const findMinMaxNodeXY = (nodes: OutNode[]) => {
178
+ /**
179
+ * calculate the bounding box for the nodes according to their x, y, and size
180
+ * @param nodes nodes in the layout
181
+ * @returns
182
+ */
183
+ export const getLayoutBBox = (nodes: OutNode[]) => {
177
184
  let minX = Infinity;
178
185
  let minY = Infinity;
179
186
  let maxX = -Infinity;
180
187
  let maxY = -Infinity;
181
188
  nodes.forEach((node) => {
182
- if (minX > node.x) minX = node.x;
183
- if (minY > node.y) minY = node.y;
184
- if (maxX < node.x) maxX = node.x;
185
- if (maxY < node.y) maxY = node.y;
189
+ let size = node.size;
190
+ if (isArray(size)) {
191
+ if (size.length === 1) size = [size[0], size[0]];
192
+ } else if (isNumber(size)) {
193
+ size = [size, size];
194
+ } else if (size === undefined || isNaN(size as any)) {
195
+ size = [30, 30];
196
+ }
197
+
198
+ const halfSize = [size[0] / 2, size[1] / 2];
199
+ const left = node.x - halfSize[0];
200
+ const right = node.x + halfSize[0];
201
+ const top = node.y - halfSize[1];
202
+ const bottom = node.y + halfSize[1];
203
+
204
+ if (minX > left) minX = left;
205
+ if (minY > top) minY = top;
206
+ if (maxX < right) maxX = right;
207
+ if (maxY < bottom) maxY = bottom;
186
208
  });
187
209
  return { minX, minY, maxX, maxY };
188
210
  };