@antv/layout 0.3.18 → 0.3.20

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.
@@ -35,7 +35,7 @@ var DagreLayout = /** @class */ (function (_super) {
35
35
  function DagreLayout(options) {
36
36
  var _this = _super.call(this) || this;
37
37
  /** layout 方向, 可选 TB, BT, LR, RL */
38
- _this.rankdir = "TB";
38
+ _this.rankdir = 'TB';
39
39
  /** 节点水平间距(px) */
40
40
  _this.nodesep = 50;
41
41
  /** 每一层节点之间间距 */
@@ -67,7 +67,7 @@ var DagreLayout = /** @class */ (function (_super) {
67
67
  }
68
68
  DagreLayout.prototype.getDefaultCfg = function () {
69
69
  return {
70
- rankdir: "TB",
70
+ rankdir: 'TB',
71
71
  align: undefined,
72
72
  nodeSize: undefined,
73
73
  nodesepFunc: undefined,
@@ -84,9 +84,9 @@ var DagreLayout = /** @class */ (function (_super) {
84
84
  */
85
85
  DagreLayout.prototype.execute = function () {
86
86
  var _this = this;
87
- var _a, _b, _c;
87
+ var _a, _b, _c, _d;
88
88
  var self = this;
89
- var nodes = self.nodes, nodeSize = self.nodeSize, rankdir = self.rankdir, combos = self.combos, begin = self.begin, radial = self.radial, _d = self.comboEdges, comboEdges = _d === void 0 ? [] : _d, _e = self.vedges, vedges = _e === void 0 ? [] : _e;
89
+ var nodes = self.nodes, nodeSize = self.nodeSize, rankdir = self.rankdir, combos = self.combos, begin = self.begin, radial = self.radial, _e = self.comboEdges, comboEdges = _e === void 0 ? [] : _e, _f = self.vedges, vedges = _f === void 0 ? [] : _f;
90
90
  if (!nodes)
91
91
  return;
92
92
  var edges = self.edges || [];
@@ -104,6 +104,21 @@ var DagreLayout = /** @class */ (function (_super) {
104
104
  nodeComboMap[node.comboId] = nodeComboMap[node.comboId] || [];
105
105
  nodeComboMap[node.comboId].push(node.id);
106
106
  });
107
+ var sortedNodes = [];
108
+ var visitedMap = {};
109
+ if ((_a = self.nodeOrder) === null || _a === void 0 ? void 0 : _a.length) {
110
+ self.nodeOrder.forEach(function (id) {
111
+ visitedMap[id] = true;
112
+ sortedNodes.push(self.nodeMap[id]);
113
+ });
114
+ nodes.forEach(function (node) {
115
+ if (!visitedMap[node.id])
116
+ sortedNodes.push(node);
117
+ });
118
+ }
119
+ else {
120
+ sortedNodes = nodes;
121
+ }
107
122
  var nodeSizeFunc;
108
123
  if (!nodeSize) {
109
124
  nodeSizeFunc = function (d) {
@@ -129,7 +144,7 @@ var DagreLayout = /** @class */ (function (_super) {
129
144
  var nodesepfunc = (0, util_1.getFunc)(self.nodesep, 50, self.nodesepFunc);
130
145
  var horisep = nodesepfunc;
131
146
  var vertisep = ranksepfunc;
132
- if (rankdir === "LR" || rankdir === "RL") {
147
+ if (rankdir === 'LR' || rankdir === 'RL') {
133
148
  horisep = ranksepfunc;
134
149
  vertisep = nodesepfunc;
135
150
  }
@@ -156,7 +171,7 @@ var DagreLayout = /** @class */ (function (_super) {
156
171
  g.setParent(combo.id, combo.parentId);
157
172
  });
158
173
  }
159
- nodes
174
+ sortedNodes
160
175
  .filter(function (node) { return node.layout !== false; })
161
176
  .forEach(function (node) {
162
177
  var size = nodeSizeFunc(node);
@@ -182,8 +197,8 @@ var DagreLayout = /** @class */ (function (_super) {
182
197
  });
183
198
  edges.forEach(function (edge) {
184
199
  // dagrejs Wiki https://github.com/dagrejs/dagre/wiki#configuring-the-layout
185
- var source = (0, util_1.getEdgeTerminal)(edge, "source");
186
- var target = (0, util_1.getEdgeTerminal)(edge, "target");
200
+ var source = (0, util_1.getEdgeTerminal)(edge, 'source');
201
+ var target = (0, util_1.getEdgeTerminal)(edge, 'target');
187
202
  if (_this.layoutNode(source) && _this.layoutNode(target)) {
188
203
  g.setEdge(source, target, {
189
204
  weight: edge.weight || 1,
@@ -191,7 +206,7 @@ var DagreLayout = /** @class */ (function (_super) {
191
206
  }
192
207
  });
193
208
  // create virtual edges from node to node for comboEdges
194
- (_a = comboEdges === null || comboEdges === void 0 ? void 0 : comboEdges.concat(vedges || [])) === null || _a === void 0 ? void 0 : _a.forEach(function (comboEdge) {
209
+ (_b = comboEdges === null || comboEdges === void 0 ? void 0 : comboEdges.concat(vedges || [])) === null || _b === void 0 ? void 0 : _b.forEach(function (comboEdge) {
195
210
  var _a, _b;
196
211
  var source = comboEdge.source, target = comboEdge.target;
197
212
  var sources = ((_a = comboMap[source]) === null || _a === void 0 ? void 0 : _a.collapsed)
@@ -210,7 +225,7 @@ var DagreLayout = /** @class */ (function (_super) {
210
225
  });
211
226
  // 考虑增量图中的原始图
212
227
  var prevGraph = undefined;
213
- if ((_b = self.preset) === null || _b === void 0 ? void 0 : _b.nodes) {
228
+ if ((_c = self.preset) === null || _c === void 0 ? void 0 : _c.nodes) {
214
229
  prevGraph = new graph_1.Graph({
215
230
  multigraph: true,
216
231
  compound: true,
@@ -249,24 +264,23 @@ var DagreLayout = /** @class */ (function (_super) {
249
264
  dBegin[0] = begin[0] - minX_1;
250
265
  dBegin[1] = begin[1] - minY_1;
251
266
  }
252
- var isHorizontal = rankdir === "LR" || rankdir === "RL";
267
+ var isHorizontal = rankdir === 'LR' || rankdir === 'RL';
253
268
  // 变形为辐射
254
269
  if (radial) {
255
- var _f = this, focusNode = _f.focusNode, ranksep = _f.ranksep, getRadialPos_1 = _f.getRadialPos;
270
+ var _g = this, focusNode = _g.focusNode, ranksep = _g.ranksep, getRadialPos_1 = _g.getRadialPos;
256
271
  var focusId = (0, util_1.isString)(focusNode) ? focusNode : focusNode === null || focusNode === void 0 ? void 0 : focusNode.id;
257
- var focusLayer_1 = focusId ? (_c = g.node(focusId)) === null || _c === void 0 ? void 0 : _c._rank : 0;
272
+ var focusLayer_1 = focusId ? (_d = g.node(focusId)) === null || _d === void 0 ? void 0 : _d._rank : 0;
258
273
  var layers_1 = [];
259
- var dim_1 = isHorizontal ? "y" : "x";
260
- var sizeDim_1 = isHorizontal ? "height" : "width";
274
+ var dim_1 = isHorizontal ? 'y' : 'x';
275
+ var sizeDim_1 = isHorizontal ? 'height' : 'width';
261
276
  // 找到整个图作为环的坐标维度(dim)的最大、最小值,考虑节点宽度
262
277
  var min_1 = Infinity;
263
278
  var max_1 = -Infinity;
264
279
  g.nodes().forEach(function (node) {
265
280
  var coord = g.node(node);
266
- var i = nodes.findIndex(function (it) { return it.id === node; });
267
- if (!nodes[i])
281
+ if (!self.nodeMap[node])
268
282
  return;
269
- var currentNodesep = nodesepfunc(nodes[i]);
283
+ var currentNodesep = nodesepfunc(self.nodeMap[node]);
270
284
  if (focusLayer_1 === 0) {
271
285
  if (!layers_1[coord._rank]) {
272
286
  layers_1[coord._rank] = {
@@ -348,15 +362,14 @@ var DagreLayout = /** @class */ (function (_super) {
348
362
  // 获取变形为 radial 后的直角坐标系坐标
349
363
  var _a = getRadialPos_1(coord[dim_1], range_1, rangeLength_1, radius, arcRange), newX = _a.x, newY = _a.y;
350
364
  // 将新坐标写入源数据
351
- var i = nodes.findIndex(function (it) { return it.id === node; });
352
- if (!nodes[i])
365
+ if (!self.nodeMap[node])
353
366
  return;
354
- nodes[i].x = newX + dBegin[0];
355
- nodes[i].y = newY + dBegin[1];
367
+ self.nodeMap[node].x = newX + dBegin[0];
368
+ self.nodeMap[node].y = newY + dBegin[1];
356
369
  // @ts-ignore: pass layer order to data for increment layout use
357
- nodes[i]._order = coord._order;
370
+ self.nodeMap[node]._order = coord._order;
358
371
  // 找到本层最大的一个 ranksep,作为下一层与本层的间隙,叠加到下一层的半径上
359
- var currentNodeRanksep = ranksepfunc(nodes[i]);
372
+ var currentNodeRanksep = ranksepfunc(self.nodeMap[node]);
360
373
  if (maxRanksep < currentNodeRanksep)
361
374
  maxRanksep = currentNodeRanksep;
362
375
  });
@@ -374,13 +387,13 @@ var DagreLayout = /** @class */ (function (_super) {
374
387
  // 第一层只有一个节点,直接放在圆心,初始半径设定为 0
375
388
  if (isFirstLevel_1 && layerNodes.nodes.length === 1) {
376
389
  // 将新坐标写入源数据
377
- var i = nodes.findIndex(function (it) { return it.id === layerNodes.nodes[0]; });
378
- if (i <= -1)
390
+ var nodeId = layerNodes.nodes[0];
391
+ if (!self.nodeMap[nodeId])
379
392
  return;
380
- nodes[i].x = dBegin[0];
381
- nodes[i].y = dBegin[1];
393
+ self.nodeMap[nodeId].x = dBegin[0];
394
+ self.nodeMap[nodeId].y = dBegin[1];
382
395
  radiusMap_1[layerNodes.nodes[0]] = 0;
383
- radius_1 = ranksepfunc(nodes[i]);
396
+ radius_1 = ranksepfunc(self.nodeMap[nodeId]);
384
397
  isFirstLevel_1 = false;
385
398
  return;
386
399
  }
@@ -410,16 +423,16 @@ var DagreLayout = /** @class */ (function (_super) {
410
423
  var _a, _b, _c;
411
424
  var coord = g.edge(edge);
412
425
  var i = edges.findIndex(function (it) {
413
- var source = (0, util_1.getEdgeTerminal)(it, "source");
414
- var target = (0, util_1.getEdgeTerminal)(it, "target");
426
+ var source = (0, util_1.getEdgeTerminal)(it, 'source');
427
+ var target = (0, util_1.getEdgeTerminal)(it, 'target');
415
428
  return source === edge.v && target === edge.w;
416
429
  });
417
430
  if (i <= -1)
418
431
  return;
419
432
  if (self.edgeLabelSpace &&
420
433
  self.controlPoints &&
421
- edges[i].type !== "loop") {
422
- var otherDim_1 = dim_1 === "x" ? "y" : "x";
434
+ edges[i].type !== 'loop') {
435
+ var otherDim_1 = dim_1 === 'x' ? 'y' : 'x';
423
436
  var controlPoints = (_a = coord === null || coord === void 0 ? void 0 : coord.points) === null || _a === void 0 ? void 0 : _a.slice(1, coord.points.length - 1);
424
437
  var newControlPoints_1 = [];
425
438
  var sourceOtherDimValue_1 = (_b = g.node(edge.v)) === null || _b === void 0 ? void 0 : _b[otherDim_1];
@@ -444,7 +457,7 @@ var DagreLayout = /** @class */ (function (_super) {
444
457
  }
445
458
  else {
446
459
  var layerCoords_1 = new Set();
447
- var isInvert = rankdir === "BT" || rankdir === "RL";
460
+ var isInvert = rankdir === 'BT' || rankdir === 'RL';
448
461
  var layerCoordSort = isInvert
449
462
  ? function (a, b) { return b - a; }
450
463
  : function (a, b) { return a - b; };
@@ -481,24 +494,25 @@ var DagreLayout = /** @class */ (function (_super) {
481
494
  return ps.filter(function (point) { return point.x <= max && point.x >= min; });
482
495
  };
483
496
  g.edges().forEach(function (edge) {
497
+ var _a;
484
498
  var coord = g.edge(edge);
485
499
  var i = edges.findIndex(function (it) {
486
- var source = (0, util_1.getEdgeTerminal)(it, "source");
487
- var target = (0, util_1.getEdgeTerminal)(it, "target");
500
+ var source = (0, util_1.getEdgeTerminal)(it, 'source');
501
+ var target = (0, util_1.getEdgeTerminal)(it, 'target');
488
502
  return source === edge.v && target === edge.w;
489
503
  });
490
504
  if (i <= -1)
491
505
  return;
492
506
  if (self.edgeLabelSpace &&
493
507
  self.controlPoints &&
494
- edges[i].type !== "loop") {
495
- var sourceNode = self.nodeMap[edge.v];
496
- var targetNode = self.nodeMap[edge.w];
497
- edges[i].controlPoints = getControlPoints(coord === null || coord === void 0 ? void 0 : coord.points, sourceNode, targetNode, layerCoordsArr_1, isHorizontal, isDifferentLayer_1, filterControlPointsOutOfBoundary_1);
498
- edges[i].controlPoints.forEach(function (point) {
508
+ edges[i].type !== 'loop') {
509
+ (_a = coord === null || coord === void 0 ? void 0 : coord.points) === null || _a === void 0 ? void 0 : _a.forEach(function (point) {
499
510
  point.x += dBegin[0];
500
511
  point.y += dBegin[1];
501
512
  });
513
+ var sourceNode = self.nodeMap[edge.v];
514
+ var targetNode = self.nodeMap[edge.w];
515
+ edges[i].controlPoints = getControlPoints(coord === null || coord === void 0 ? void 0 : coord.points, sourceNode, targetNode, layerCoordsArr_1, isHorizontal, isDifferentLayer_1, filterControlPointsOutOfBoundary_1);
502
516
  }
503
517
  });
504
518
  }
@@ -524,7 +538,7 @@ var DagreLayout = /** @class */ (function (_super) {
524
538
  };
525
539
  };
526
540
  DagreLayout.prototype.getType = function () {
527
- return "dagre";
541
+ return 'dagre';
528
542
  };
529
543
  return DagreLayout;
530
544
  }(base_1.Base));
@@ -1 +1 @@
1
- {"version":3,"file":"dagre.js","sourceRoot":"","sources":["../../src/layout/dagre.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dagre.js","sourceRoot":"","sources":["../../src/layout/dagre.ts"],"names":[],"mappings":"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"}
@@ -28,10 +28,12 @@ var registerLayout = function (name, layoutOverride) {
28
28
  var GLayout = /** @class */ (function (_super) {
29
29
  __extends(GLayout, _super);
30
30
  function GLayout(cfg) {
31
- var _this = _super.call(this) || this;
31
+ var _this = this;
32
+ var _a;
33
+ _this = _super.call(this) || this;
32
34
  var self = _this;
33
35
  var props = {};
34
- var defaultCfg = self.getDefaultCfg();
36
+ var defaultCfg = Object.assign({}, self.getDefaultCfg(), ((_a = layoutOverride.getDefaultCfg) === null || _a === void 0 ? void 0 : _a.call(layoutOverride)) || {});
35
37
  Object.assign(props, defaultCfg, layoutOverride, cfg);
36
38
  Object.keys(props).forEach(function (key) {
37
39
  var value = props[key];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,gCAAmC;AAEnC,IAAM,GAAG,GAAqB,IAAI,GAAG,EAAE,CAAC;AAEjC,IAAM,cAAc,GAAG,UAAC,IAAY,EAAE,cAAmB;IAC9D,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,CAAC,IAAI,CAAC,mCAA4B,IAAI,2CAAwC,CAAC,CAAC;KACxF;IACD,IAAI,IAAA,eAAQ,EAAC,cAAc,CAAC,EAAE;QAC5B,iDAAiD;QACjD;YAAsB,2BAAI;YACxB,iBAAY,GAAQ;gBAApB,YACE,iBAAO,SASR;gBARC,IAAM,IAAI,GAAG,KAAW,CAAC;gBACzB,IAAM,KAAK,GAAQ,EAAE,CAAC;gBACtB,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,GAAc,CAAC,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAW;oBACrC,IAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpB,CAAC,CAAC,CAAC;;YACL,CAAC;YACH,cAAC;QAAD,CAAC,AAZD,CAAsB,WAAI,GAYzB;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACxB;SAAM;QACL,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;KAC/B;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAxBW,QAAA,cAAc,kBAwBzB;AAEK,IAAM,gBAAgB,GAAG,UAAC,IAAY;IAC3C,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAClB;AACH,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEK,IAAM,eAAe,GAAG,UAAC,IAAY;IAC1C,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACtB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,gCAAmC;AAEnC,IAAM,GAAG,GAAqB,IAAI,GAAG,EAAE,CAAC;AAEjC,IAAM,cAAc,GAAG,UAAC,IAAY,EAAE,cAAmB;IAC9D,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,CAAC,IAAI,CACV,mCAA4B,IAAI,2CAAwC,CACzE,CAAC;KACH;IACD,IAAI,IAAA,eAAQ,EAAC,cAAc,CAAC,EAAE;QAC5B,iDAAiD;QACjD;YAAsB,2BAAI;YACxB,iBAAY,GAAQ;gBAApB,iBAcC;;wBAbC,iBAAO;gBACP,IAAM,IAAI,GAAG,KAAW,CAAC;gBACzB,IAAM,KAAK,GAAQ,EAAE,CAAC;gBACtB,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,EAAE,EACF,IAAI,CAAC,aAAa,EAAE,EACpB,CAAA,MAAA,cAAc,CAAC,aAAa,8DAAI,KAAI,EAAE,CACvC,CAAC;gBACF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,GAAc,CAAC,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,GAAW;oBACrC,IAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpB,CAAC,CAAC,CAAC;;YACL,CAAC;YACH,cAAC;QAAD,CAAC,AAhBD,CAAsB,WAAI,GAgBzB;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACxB;SAAM;QACL,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;KAC/B;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AA9BW,QAAA,cAAc,kBA8BzB;AAEK,IAAM,gBAAgB,GAAG,UAAC,IAAY;IAC3C,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAClB;AACH,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEK,IAAM,eAAe,GAAG,UAAC,IAAY;IAC1C,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACtB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/layout",
3
- "version": "0.3.18",
3
+ "version": "0.3.20",
4
4
  "description": "graph layout algorithm",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -10,8 +10,8 @@ import {
10
10
  PointTuple,
11
11
  Point,
12
12
  Node,
13
- } from "./types";
14
- import dagre from "./dagre/index";
13
+ } from './types';
14
+ import dagre from './dagre/index';
15
15
  import {
16
16
  isArray,
17
17
  isNumber,
@@ -19,19 +19,19 @@ import {
19
19
  getEdgeTerminal,
20
20
  getFunc,
21
21
  isString,
22
- } from "../util";
23
- import { Base } from "./base";
24
- import { Graph as DagreGraph } from "./dagre/graph";
22
+ } from '../util';
23
+ import { Base } from './base';
24
+ import { Graph as DagreGraph } from './dagre/graph';
25
25
 
26
26
  /**
27
27
  * 层次布局
28
28
  */
29
29
  export class DagreLayout extends Base {
30
30
  /** layout 方向, 可选 TB, BT, LR, RL */
31
- public rankdir: "TB" | "BT" | "LR" | "RL" = "TB";
31
+ public rankdir: 'TB' | 'BT' | 'LR' | 'RL' = 'TB';
32
32
 
33
33
  /** 节点对齐方式,可选 UL, UR, DL, DR */
34
- public align: undefined | "UL" | "UR" | "DL" | "DR";
34
+ public align: undefined | 'UL' | 'UR' | 'DL' | 'DR';
35
35
 
36
36
  /** 布局的起始(左上角)位置 */
37
37
  public begin: PointTuple;
@@ -93,7 +93,7 @@ export class DagreLayout extends Base {
93
93
 
94
94
  public getDefaultCfg() {
95
95
  return {
96
- rankdir: "TB", // layout 方向, 可选 TB, BT, LR, RL
96
+ rankdir: 'TB', // layout 方向, 可选 TB, BT, LR, RL
97
97
  align: undefined, // 节点对齐方式,可选 UL, UR, DL, DR
98
98
  nodeSize: undefined, // 节点大小
99
99
  nodesepFunc: undefined, // 节点水平间距(px)
@@ -149,6 +149,20 @@ export class DagreLayout extends Base {
149
149
  nodeComboMap[node.comboId].push(node.id);
150
150
  });
151
151
 
152
+ let sortedNodes: OutNode[] = [];
153
+ const visitedMap: { [id: string]: boolean } = {};
154
+ if (self.nodeOrder?.length) {
155
+ self.nodeOrder.forEach((id) => {
156
+ visitedMap[id] = true;
157
+ sortedNodes.push(self.nodeMap[id]);
158
+ });
159
+ nodes.forEach((node) => {
160
+ if (!visitedMap[node.id]) sortedNodes.push(node);
161
+ });
162
+ } else {
163
+ sortedNodes = nodes;
164
+ }
165
+
152
166
  let nodeSizeFunc: (d?: any) => number[];
153
167
  if (!nodeSize) {
154
168
  nodeSizeFunc = (d: any) => {
@@ -173,7 +187,7 @@ export class DagreLayout extends Base {
173
187
  let horisep: Function = nodesepfunc;
174
188
  let vertisep: Function = ranksepfunc;
175
189
 
176
- if (rankdir === "LR" || rankdir === "RL") {
190
+ if (rankdir === 'LR' || rankdir === 'RL') {
177
191
  horisep = ranksepfunc;
178
192
  vertisep = nodesepfunc;
179
193
  }
@@ -202,7 +216,7 @@ export class DagreLayout extends Base {
202
216
  });
203
217
  }
204
218
 
205
- nodes
219
+ sortedNodes
206
220
  .filter((node) => node.layout !== false)
207
221
  .forEach((node) => {
208
222
  const size = nodeSizeFunc(node);
@@ -229,8 +243,8 @@ export class DagreLayout extends Base {
229
243
 
230
244
  edges.forEach((edge) => {
231
245
  // dagrejs Wiki https://github.com/dagrejs/dagre/wiki#configuring-the-layout
232
- const source = getEdgeTerminal(edge, "source");
233
- const target = getEdgeTerminal(edge, "target");
246
+ const source = getEdgeTerminal(edge, 'source');
247
+ const target = getEdgeTerminal(edge, 'target');
234
248
  if (this.layoutNode(source) && this.layoutNode(target)) {
235
249
  g.setEdge(source, target, {
236
250
  weight: edge.weight || 1,
@@ -295,23 +309,22 @@ export class DagreLayout extends Base {
295
309
  dBegin[1] = begin[1] - minY;
296
310
  }
297
311
 
298
- const isHorizontal = rankdir === "LR" || rankdir === "RL";
312
+ const isHorizontal = rankdir === 'LR' || rankdir === 'RL';
299
313
  // 变形为辐射
300
314
  if (radial) {
301
315
  const { focusNode, ranksep, getRadialPos } = this;
302
316
  const focusId = isString(focusNode) ? focusNode : focusNode?.id;
303
317
  const focusLayer = focusId ? g.node(focusId)?._rank : 0;
304
318
  const layers: any[] = [];
305
- const dim = isHorizontal ? "y" : "x";
306
- const sizeDim = isHorizontal ? "height" : "width";
319
+ const dim = isHorizontal ? 'y' : 'x';
320
+ const sizeDim = isHorizontal ? 'height' : 'width';
307
321
  // 找到整个图作为环的坐标维度(dim)的最大、最小值,考虑节点宽度
308
322
  let min = Infinity;
309
323
  let max = -Infinity;
310
324
  g.nodes().forEach((node: any) => {
311
325
  const coord = g.node(node)! as any;
312
- const i = nodes.findIndex((it) => it.id === node);
313
- if (!nodes[i]) return;
314
- const currentNodesep = nodesepfunc(nodes[i]);
326
+ if (!self.nodeMap[node]) return;
327
+ const currentNodesep = nodesepfunc(self.nodeMap[node]);
315
328
 
316
329
  if (focusLayer === 0) {
317
330
  if (!layers[coord._rank]) {
@@ -409,15 +422,14 @@ export class DagreLayout extends Base {
409
422
  arcRange
410
423
  );
411
424
  // 将新坐标写入源数据
412
- const i = nodes.findIndex((it) => it.id === node);
413
- if (!nodes[i]) return;
414
- nodes[i].x = newX + dBegin[0];
415
- nodes[i].y = newY + dBegin[1];
425
+ if (!self.nodeMap[node]) return;
426
+ self.nodeMap[node].x = newX + dBegin[0];
427
+ self.nodeMap[node].y = newY + dBegin[1];
416
428
  // @ts-ignore: pass layer order to data for increment layout use
417
- nodes[i]._order = coord._order;
429
+ self.nodeMap[node]._order = coord._order;
418
430
 
419
431
  // 找到本层最大的一个 ranksep,作为下一层与本层的间隙,叠加到下一层的半径上
420
- const currentNodeRanksep = ranksepfunc(nodes[i]);
432
+ const currentNodeRanksep = ranksepfunc(self.nodeMap[node]);
421
433
  if (maxRanksep < currentNodeRanksep) maxRanksep = currentNodeRanksep;
422
434
  });
423
435
  return maxRanksep;
@@ -436,12 +448,12 @@ export class DagreLayout extends Base {
436
448
  // 第一层只有一个节点,直接放在圆心,初始半径设定为 0
437
449
  if (isFirstLevel && layerNodes.nodes.length === 1) {
438
450
  // 将新坐标写入源数据
439
- const i = nodes.findIndex((it) => it.id === layerNodes.nodes[0]);
440
- if (i <= -1) return;
441
- nodes[i].x = dBegin[0];
442
- nodes[i].y = dBegin[1];
451
+ const nodeId = layerNodes.nodes[0];
452
+ if (!self.nodeMap[nodeId]) return;
453
+ self.nodeMap[nodeId].x = dBegin[0];
454
+ self.nodeMap[nodeId].y = dBegin[1];
443
455
  radiusMap[layerNodes.nodes[0]] = 0;
444
- radius = ranksepfunc(nodes[i]);
456
+ radius = ranksepfunc(self.nodeMap[nodeId]);
445
457
  isFirstLevel = false;
446
458
  return;
447
459
  }
@@ -477,17 +489,17 @@ export class DagreLayout extends Base {
477
489
  g.edges().forEach((edge: any) => {
478
490
  const coord = g.edge(edge);
479
491
  const i = edges.findIndex((it) => {
480
- const source = getEdgeTerminal(it, "source");
481
- const target = getEdgeTerminal(it, "target");
492
+ const source = getEdgeTerminal(it, 'source');
493
+ const target = getEdgeTerminal(it, 'target');
482
494
  return source === edge.v && target === edge.w;
483
495
  });
484
496
  if (i <= -1) return;
485
497
  if (
486
498
  self.edgeLabelSpace &&
487
499
  self.controlPoints &&
488
- edges[i].type !== "loop"
500
+ edges[i].type !== 'loop'
489
501
  ) {
490
- const otherDim = dim === "x" ? "y" : "x";
502
+ const otherDim = dim === 'x' ? 'y' : 'x';
491
503
  const controlPoints = coord?.points?.slice(
492
504
  1,
493
505
  coord.points.length - 1
@@ -521,7 +533,7 @@ export class DagreLayout extends Base {
521
533
  });
522
534
  } else {
523
535
  const layerCoords: Set<number> = new Set();
524
- const isInvert = rankdir === "BT" || rankdir === "RL";
536
+ const isInvert = rankdir === 'BT' || rankdir === 'RL';
525
537
  const layerCoordSort = isInvert
526
538
  ? (a: number, b: number) => b - a
527
539
  : (a: number, b: number) => a - b;
@@ -560,16 +572,21 @@ export class DagreLayout extends Base {
560
572
  g.edges().forEach((edge: any) => {
561
573
  const coord = g.edge(edge);
562
574
  const i = edges.findIndex((it) => {
563
- const source = getEdgeTerminal(it, "source");
564
- const target = getEdgeTerminal(it, "target");
575
+ const source = getEdgeTerminal(it, 'source');
576
+ const target = getEdgeTerminal(it, 'target');
565
577
  return source === edge.v && target === edge.w;
566
578
  });
567
579
  if (i <= -1) return;
568
580
  if (
569
581
  self.edgeLabelSpace &&
570
582
  self.controlPoints &&
571
- edges[i].type !== "loop"
583
+ edges[i].type !== 'loop'
572
584
  ) {
585
+ coord?.points?.forEach((point: any) => {
586
+ point.x += dBegin[0];
587
+ point.y += dBegin[1];
588
+ });
589
+
573
590
  const sourceNode = self.nodeMap[edge.v];
574
591
  const targetNode = self.nodeMap[edge.w];
575
592
  edges[i].controlPoints = getControlPoints(
@@ -581,10 +598,6 @@ export class DagreLayout extends Base {
581
598
  isDifferentLayer,
582
599
  filterControlPointsOutOfBoundary
583
600
  );
584
- edges[i].controlPoints.forEach((point: any) => {
585
- point.x += dBegin[0];
586
- point.y += dBegin[1];
587
- });
588
601
  }
589
602
  });
590
603
  }
@@ -617,7 +630,7 @@ export class DagreLayout extends Base {
617
630
  }
618
631
 
619
632
  public getType() {
620
- return "dagre";
633
+ return 'dagre';
621
634
  }
622
635
  }
623
636