@antv/layout 0.3.10 → 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.
@@ -136,6 +136,8 @@ var buildLayerMatrix = function (g) {
136
136
  // const layering = _.map(_.range(maxRank(g) + 1), function() { return []; });
137
137
  g.nodes().forEach(function (v) {
138
138
  var node = g.node(v);
139
+ if (!node)
140
+ return;
139
141
  var rank = node.rank;
140
142
  if (rank !== undefined && layeringNodes[rank]) {
141
143
  layeringNodes[rank].push(v);
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/util.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":";;;AACA,iCAAkC;AAClC,mCAAoC;AACpC,mCAAoC;AAE7B,IAAM,eAAe,GAAG,UAAC,IAAU,EAAE,IAAyB;IACnE,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAA,iBAAQ,EAAC,QAAQ,CAAC,EAAE;QACtB,OAAO,QAAQ,CAAC,IAAI,CAAC;KACtB;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,IAAM,SAAS,GAAG,UAAC,CAAS,EAAE,UAAoB,EAAE,KAAoB;IAC7E,IAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,OAAO,CAAC,CAAC,CAAC,GAAG;YACX,EAAE,EAAE,CAAC;YACL,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;SACP,CAAC;KACH;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;QACd,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE;YACzC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACrC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACtC;QACD,IAAI,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE;YACzC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACpC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAvBW,QAAA,SAAS,aAuBpB;AAEK,IAAM,YAAY,GAAG,UAAC,KAAa,EAAE,KAAoB;IAC9D,IAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACjB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;YACpB,EAAE,EAAE,CAAC;YACL,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;QACd,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5B,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SAC7B;QACD,IAAI,MAAM,EAAE;YACV,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3B,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAxBW,QAAA,YAAY,gBAwBvB;AAEK,IAAM,aAAa,GAAG,UAAC,SAAmB;IAC/C,aAAa;IACb,IAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QAChC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAChB;iBAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B;SACF;KACF;IACD,QAAQ;IACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACxC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtC;aACF;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA3BW,QAAA,aAAa,iBA2BxB;AAEK,IAAM,YAAY,GAAG,UAAC,IAAW,EAAE,QAAiB;IAEvD,IAAA,KAAK,GAEH,IAAI,MAFD,EACL,KAAK,GACH,IAAI,MADD,CACE;IACT,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,oCAAoC;IACpC,IAAM,OAAO,GAET,EAAE,CAAC;IAEP,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;IACD,IAAI,KAAK,EAAE;QACT,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACrB,IAAM,GAAG,GAAa,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;KACJ;IAED,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,UAAC,CAAC;QACf,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAG,OAAO,CAAC,MAAgB,CAAC,CAAC;QACzC,IAAM,MAAM,GAAG,OAAO,CAAC,MAAgB,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB;AAEF;;;;GAIG;AACI,IAAM,WAAW,GAAG,UAAC,MAAgB,EAAE,KAAa;IACzD,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,UAAC,GAAG;QACjB,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,OAAO,CAAC,UAAC,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAVW,QAAA,WAAW,eAUtB;AAEF;;;GAGG;AACH,IAAM,UAAU,GAAG,UAA+B,IAAO,EAAE,EAAyB;IAClF,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;QACzB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAAE,OAAO;SAC/C;KACF;IAED,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QACb,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;GAGG;AACI,IAAM,cAAc,GAAG,UAC5B,IAAO,EACP,EAAyB;IAEzB,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;QAC5B,OAAO;KACR;IACD,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEF;;;;GAIG;AACI,IAAM,aAAa,GAAG,UAAC,KAAgB;IAC5C,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,IAAA,eAAO,EAAC,IAAI,CAAC,EAAE;YACjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;aAAO,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACrB;aAAM,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAW,CAAC,EAAE;YACnD,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACjB;QAED,IAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnC,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,IAAI,GAAG,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,IAAI,GAAG,GAAG;YAAE,IAAI,GAAG,GAAG,CAAC;QAC3B,IAAI,IAAI,GAAG,KAAK;YAAE,IAAI,GAAG,KAAK,CAAC;QAC/B,IAAI,IAAI,GAAG,MAAM;YAAE,IAAI,GAAG,MAAM,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,CAAC;AACpC,CAAC,CAAC;AA3BW,QAAA,aAAa,iBA2BxB;AAEF;;;;GAIG;AACI,IAAM,kBAAkB,GAAG,UAAC,KAAgB;IACjD,IAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACjB,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,SAAS;IACT,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,OAAO;QACL,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM;QACxB,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM;KACzB,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEF,mBAAmB;AACnB,IAAM,WAAW,GAAG,UAAC,IAAyB,EAAE,IAAU,EAAE,KAAa;;IACvE,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,OAAO,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,EAAvB,CAAuB,CAAC,0CAAE,MAAM,KAAI,EAAE,CAAS,CAAC;KAC/E;IACD,OAAO,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,EAAvB,CAAuB,CAAC,0CAAE,MAAM,KAAI,EAAE,CAAS,CAAC;AAChF,CAAC,CAAC;AAEF,wBAAwB;AACxB,IAAM,kBAAkB,GAAG,UAAC,IAAkC,EAAE,QAAc,EAAE,KAAa;IAC3F,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ;YACX,aAAa,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,EAA3B,CAA2B,EAAE,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,CAAC,CAAC;YAChG,MAAM;QACR,KAAK,QAAQ;YACX,aAAa,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,EAA3B,CAA2B,EAAE,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,CAAC,CAAC;YAChG,MAAM;QACR,KAAK,MAAM;YACT,aAAa,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CACjB,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,EAA3B,CAA2B,EAC7C,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,EACzB,MAAM,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,EAA3B,CAA2B,EAAE,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,EAAX,CAAW,CAAC,CAAC,CAAC;YAC3F,MAAM;QACR;YACE,MAAM;KACT;IACD,KAAK;IACL,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AACF,WAAW;AACX,IAAM,gBAAgB,GAAG,UAAC,IAAoB,EAAE,aAAqB,EAAE,IAAU,EAAE,aAAqB,EAAE,UAAoC;IAC5I,aAAa;IACb,IAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC3C,aAAa;IACb,IAAI,aAAa,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAhC,CAAgC,CAAC,KAAI,EAAE,CAAC;IAC5F,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,IAAI,gBAAK,OAAA,CAAA,MAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,EAAE,MAAK,CAAC,IAAG,CAAA,MAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,GAAG,MAAK,CAAC,CAAA,EAAA,CAAC,CAAC;KAChH;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAGF,+BAA+B;AACxB,IAAM,+BAA+B,GAAG,UAAC,IAAoB,EAAE,IAAU,EAAE,KAAa,EAAE,aAAqB,EAAE,UAAoC,EAAE,OAAgB;IACtK,IAAA,KAAmC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAhD,QAAQ,QAAA,EAAO,SAAS,SAAwB,CAAC;IAC7D,IAAI,QAAQ,GAAS,IAAI,CAAC;IAC1B,IAAI,iBAAiB,GAAW,EAAE,CAAC;IACnC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,qCAAqC;QACrC,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,OAAO,CAAC,MAAM,CAAC,EAAf,CAAe,CAAC,CAAC;KAClG;SAAM,IAAI,SAAS,KAAK,CAAC,EAAE;QAC1B,sCAAsC;QACtC,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,OAAO,CAAC,MAAM,CAAC,EAAf,CAAe,CAAC,CAAC;KAClG;IACD,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAC1C,UAAC,IAAI,IAAK,OAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAtF,CAAsF,CACjG,CAAC;IACF,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACrG,OAAO,EAAE,QAAQ,UAAA,EAAE,iBAAiB,mBAAA,EAAE,iBAAiB,mBAAA,EAAE,CAAC;AAC5D,CAAC,CAAC;AAlBW,QAAA,+BAA+B,mCAkB1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/layout",
3
- "version": "0.3.10",
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,
@@ -97,7 +97,7 @@ const feasibleTreeWithLayer = (g: Graph) => {
97
97
 
98
98
  // Choose arbitrary node from which to start our tree
99
99
  const start = g.nodes()[0];
100
- const size = g.nodeCount();
100
+ const size = g.nodes().filter(n => !!g.node(n)).length;
101
101
  t.setNode(start, {});
102
102
 
103
103
  let edge: any;
@@ -26,6 +26,7 @@ const longestPath = (g: Graph) => {
26
26
 
27
27
  const dfs = (v: string) => {
28
28
  const label = g.node(v)!;
29
+ if (!label) return 0;
29
30
  if (visited[v]) {
30
31
  return label.rank!;
31
32
  }
@@ -65,6 +66,7 @@ const longestPathWithLayer = (g: Graph) => {
65
66
 
66
67
  const dfs = (v: string) => {
67
68
  const label = g.node(v)!;
69
+ if (!label) return 0;
68
70
  if (visited[v]) {
69
71
  return label.rank!;
70
72
  }
@@ -98,7 +100,9 @@ const longestPathWithLayer = (g: Graph) => {
98
100
  return rank;
99
101
  };
100
102
 
101
- g.sources()?.forEach((source) => dfs(source));
103
+ g.sources()?.forEach((source) => {
104
+ if (g.node(source)) dfs(source)
105
+ });
102
106
 
103
107
  if (minRank! === undefined) {
104
108
  minRank = 0;
@@ -132,6 +136,7 @@ const longestPathWithLayer = (g: Graph) => {
132
136
  // 指定层级的,更新下游
133
137
  g.nodes().forEach((n) => {
134
138
  const label = g.node(n)!;
139
+ if(!label) return;
135
140
  if (!isNaN(label.layer as number)) {
136
141
  dfsForward(n, label.layer as number); // 默认的dummy root所在层的rank是-1
137
142
  } else {
@@ -155,6 +155,7 @@ export const buildLayerMatrix = (g: Graph) => {
155
155
  // const layering = _.map(_.range(maxRank(g) + 1), function() { return []; });
156
156
  g.nodes().forEach((v: string) => {
157
157
  const node = g.node(v)!;
158
+ if (!node) return;
158
159
  const rank = node.rank;
159
160
  if (rank !== undefined && layeringNodes[rank]) {
160
161
  layeringNodes[rank].push(v);
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
  };