@antv/layout 0.3.5 → 0.3.7
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.
- package/dist/layout.min.js +1 -1
- package/dist/layout.min.js.map +1 -1
- package/es/layout/base.d.ts +1 -0
- package/es/layout/base.js +3 -0
- package/es/layout/base.js.map +1 -1
- package/es/layout/dagre/src/layout.js +2 -2
- package/es/layout/dagre/src/layout.js.map +1 -1
- package/es/layout/dagre.js +53 -11
- package/es/layout/dagre.js.map +1 -1
- package/es/layout/types.d.ts +2 -0
- package/lib/layout/base.d.ts +1 -0
- package/lib/layout/base.js +3 -0
- package/lib/layout/base.js.map +1 -1
- package/lib/layout/dagre/src/layout.js +2 -2
- package/lib/layout/dagre/src/layout.js.map +1 -1
- package/lib/layout/dagre.js +54 -12
- package/lib/layout/dagre.js.map +1 -1
- package/lib/layout/types.d.ts +2 -0
- package/package.json +1 -1
- package/src/layout/base.ts +3 -0
- package/src/layout/dagre/src/layout.ts +2 -2
- package/src/layout/dagre.ts +47 -10
- package/src/layout/types.ts +2 -0
package/lib/layout/dagre.js
CHANGED
|
@@ -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;
|
|
87
|
+
var _a, _b, _c;
|
|
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;
|
|
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;
|
|
90
90
|
if (!nodes)
|
|
91
91
|
return;
|
|
92
92
|
var edges = self.edges || [];
|
|
@@ -94,6 +94,14 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
94
94
|
multigraph: true,
|
|
95
95
|
compound: true,
|
|
96
96
|
});
|
|
97
|
+
// collect the nodes in their combo, to create virtual edges for comboEdges
|
|
98
|
+
var nodeComboMap = {};
|
|
99
|
+
nodes.forEach(function (node) {
|
|
100
|
+
if (!node.comboId)
|
|
101
|
+
return;
|
|
102
|
+
nodeComboMap[node.comboId] = nodeComboMap[node.comboId] || [];
|
|
103
|
+
nodeComboMap[node.comboId].push(node.id);
|
|
104
|
+
});
|
|
97
105
|
var nodeSizeFunc;
|
|
98
106
|
if (!nodeSize) {
|
|
99
107
|
nodeSizeFunc = function (d) {
|
|
@@ -128,10 +136,19 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
128
136
|
var comboMap = {};
|
|
129
137
|
if (this.sortByCombo && combos) {
|
|
130
138
|
combos.forEach(function (combo) {
|
|
139
|
+
comboMap[combo.id] = combo;
|
|
140
|
+
// regard the collapsed combo as a node
|
|
141
|
+
if (combo.collapsed) {
|
|
142
|
+
var size = nodeSizeFunc(combo);
|
|
143
|
+
var verti = vertisep(combo);
|
|
144
|
+
var hori = horisep(combo);
|
|
145
|
+
var width = size[0] + 2 * hori;
|
|
146
|
+
var height = size[1] + 2 * verti;
|
|
147
|
+
g.setNode(combo.id, { width: width, height: height });
|
|
148
|
+
}
|
|
131
149
|
if (!combo.parentId)
|
|
132
150
|
return;
|
|
133
151
|
if (!comboMap[combo.parentId]) {
|
|
134
|
-
comboMap[combo.parentId] = true;
|
|
135
152
|
g.setNode(combo.parentId, {});
|
|
136
153
|
}
|
|
137
154
|
g.setParent(combo.id, combo.parentId);
|
|
@@ -153,7 +170,7 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
153
170
|
}
|
|
154
171
|
if (_this.sortByCombo && node.comboId) {
|
|
155
172
|
if (!comboMap[node.comboId]) {
|
|
156
|
-
comboMap[node.comboId] =
|
|
173
|
+
comboMap[node.comboId] = { id: node.comboId };
|
|
157
174
|
g.setNode(node.comboId, {});
|
|
158
175
|
}
|
|
159
176
|
g.setParent(node.id, node.comboId);
|
|
@@ -169,9 +186,23 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
169
186
|
});
|
|
170
187
|
}
|
|
171
188
|
});
|
|
189
|
+
// create virtual edges from node to node for comboEdges
|
|
190
|
+
(_a = (comboEdges === null || comboEdges === void 0 ? void 0 : comboEdges.concat(vedges || []))) === null || _a === void 0 ? void 0 : _a.forEach(function (comboEdge) {
|
|
191
|
+
var _a, _b;
|
|
192
|
+
var source = comboEdge.source, target = comboEdge.target;
|
|
193
|
+
var sources = ((_a = comboMap[source]) === null || _a === void 0 ? void 0 : _a.collapsed) ? [source] : nodeComboMap[source] || [source];
|
|
194
|
+
var targets = ((_b = comboMap[target]) === null || _b === void 0 ? void 0 : _b.collapsed) ? [target] : nodeComboMap[target] || [target];
|
|
195
|
+
sources.forEach(function (s) {
|
|
196
|
+
targets.forEach(function (t) {
|
|
197
|
+
g.setEdge(s, t, {
|
|
198
|
+
weight: comboEdge.weight || 1,
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
});
|
|
172
203
|
// 考虑增量图中的原始图
|
|
173
204
|
var prevGraph = undefined;
|
|
174
|
-
if ((
|
|
205
|
+
if ((_b = self.preset) === null || _b === void 0 ? void 0 : _b.nodes) {
|
|
175
206
|
prevGraph = new graph_1.Graph({
|
|
176
207
|
multigraph: true,
|
|
177
208
|
compound: true,
|
|
@@ -212,9 +243,9 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
212
243
|
}
|
|
213
244
|
// 变形为辐射
|
|
214
245
|
if (radial) {
|
|
215
|
-
var
|
|
246
|
+
var _f = this, focusNode = _f.focusNode, ranksep = _f.ranksep, getRadialPos_1 = _f.getRadialPos;
|
|
216
247
|
var focusId = (0, util_1.isString)(focusNode) ? focusNode : focusNode === null || focusNode === void 0 ? void 0 : focusNode.id;
|
|
217
|
-
var focusLayer_1 = focusId ? (
|
|
248
|
+
var focusLayer_1 = focusId ? (_c = g.node(focusId)) === null || _c === void 0 ? void 0 : _c._rank : 0;
|
|
218
249
|
var layers_1 = [];
|
|
219
250
|
var isHorizontal = rankdir === 'LR' || rankdir === 'RL';
|
|
220
251
|
var dim_1 = isHorizontal ? 'y' : 'x';
|
|
@@ -310,6 +341,8 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
310
341
|
if (isFirstLevel_1 && layerNodes.nodes.length === 1) {
|
|
311
342
|
// 将新坐标写入源数据
|
|
312
343
|
var i = nodes.findIndex(function (it) { return it.id === layerNodes.nodes[0]; });
|
|
344
|
+
if (i <= -1)
|
|
345
|
+
return;
|
|
313
346
|
nodes[i].x = dBegin[0];
|
|
314
347
|
nodes[i].y = dBegin[1];
|
|
315
348
|
radiusMap_1[layerNodes.nodes[0]] = 0;
|
|
@@ -340,6 +373,8 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
340
373
|
var target = (0, util_1.getEdgeTerminal)(it, 'target');
|
|
341
374
|
return source === edge.v && target === edge.w;
|
|
342
375
|
});
|
|
376
|
+
if (i <= -1)
|
|
377
|
+
return;
|
|
343
378
|
if ((self.edgeLabelSpace) && self.controlPoints && edges[i].type !== "loop") {
|
|
344
379
|
var otherDim_1 = dim_1 === 'x' ? 'y' : 'x';
|
|
345
380
|
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);
|
|
@@ -365,13 +400,18 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
365
400
|
else {
|
|
366
401
|
g.nodes().forEach(function (node) {
|
|
367
402
|
var coord = g.node(node);
|
|
368
|
-
|
|
369
|
-
if (!nodes[i])
|
|
403
|
+
if (!coord)
|
|
370
404
|
return;
|
|
371
|
-
nodes
|
|
372
|
-
|
|
405
|
+
var ndata = nodes.find(function (it) { return it.id === node; });
|
|
406
|
+
if (!ndata) {
|
|
407
|
+
ndata = combos === null || combos === void 0 ? void 0 : combos.find(function (it) { return it.id === node; });
|
|
408
|
+
}
|
|
409
|
+
if (!ndata)
|
|
410
|
+
return;
|
|
411
|
+
ndata.x = coord.x + dBegin[0];
|
|
412
|
+
ndata.y = coord.y + dBegin[1];
|
|
373
413
|
// @ts-ignore: pass layer order to data for increment layout use
|
|
374
|
-
|
|
414
|
+
ndata._order = coord._order;
|
|
375
415
|
});
|
|
376
416
|
g.edges().forEach(function (edge) {
|
|
377
417
|
var _a;
|
|
@@ -381,6 +421,8 @@ var DagreLayout = /** @class */ (function (_super) {
|
|
|
381
421
|
var target = (0, util_1.getEdgeTerminal)(it, 'target');
|
|
382
422
|
return source === edge.v && target === edge.w;
|
|
383
423
|
});
|
|
424
|
+
if (i <= -1)
|
|
425
|
+
return;
|
|
384
426
|
if ((self.edgeLabelSpace) && self.controlPoints && edges[i].type !== "loop") {
|
|
385
427
|
edges[i].controlPoints = (_a = coord === null || coord === void 0 ? void 0 : coord.points) === null || _a === void 0 ? void 0 : _a.slice(1, coord.points.length - 1); // 去掉头尾
|
|
386
428
|
edges[i].controlPoints.forEach(function (point) {
|
package/lib/layout/dagre.js.map
CHANGED
|
@@ -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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"}
|
package/lib/layout/types.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export interface Combo {
|
|
|
36
36
|
size?: number;
|
|
37
37
|
r?: number;
|
|
38
38
|
itemType?: string;
|
|
39
|
+
collapsed?: boolean;
|
|
39
40
|
}
|
|
40
41
|
export interface Model {
|
|
41
42
|
nodes?: Node[];
|
|
@@ -45,6 +46,7 @@ export interface Model {
|
|
|
45
46
|
hiddenNodes?: Node[];
|
|
46
47
|
hiddenEdges?: Edge[];
|
|
47
48
|
hiddenCombos?: Combo[];
|
|
49
|
+
vedges?: Edge[];
|
|
48
50
|
}
|
|
49
51
|
export interface OutModel extends Model {
|
|
50
52
|
nodes?: OutNode[];
|
package/package.json
CHANGED
package/src/layout/base.ts
CHANGED
|
@@ -8,6 +8,8 @@ export class Base {
|
|
|
8
8
|
public hiddenNodes: Node[] | null = [];
|
|
9
9
|
public hiddenEdges: Edge[] | null = [];
|
|
10
10
|
public hiddenCombos: Combo[] | null = [];
|
|
11
|
+
// temp edges e.g. the edge generated for releated collapsed combo
|
|
12
|
+
public vedges: Edge[] | null = [];
|
|
11
13
|
public positions: PointTuple[] | null = [];
|
|
12
14
|
public destroyed: boolean = false;
|
|
13
15
|
public onLayoutEnd: () => void = () => { };
|
|
@@ -25,6 +27,7 @@ export class Base {
|
|
|
25
27
|
this.hiddenNodes = data.hiddenNodes || [];
|
|
26
28
|
this.hiddenEdges = data.hiddenEdges || [];
|
|
27
29
|
this.hiddenCombos = data.hiddenCombos || [];
|
|
30
|
+
this.vedges = data.vedges || [];
|
|
28
31
|
}
|
|
29
32
|
|
|
30
33
|
public execute(reloadData?: boolean): any {}
|
|
@@ -193,8 +193,8 @@ const updateInputGraph = (inputGraph: Graph, layoutGraph: Graph) => {
|
|
|
193
193
|
const inputLabel = inputGraph.edge(e)!;
|
|
194
194
|
const layoutLabel = layoutGraph.edge(e)!;
|
|
195
195
|
|
|
196
|
-
inputLabel.points = layoutLabel.points;
|
|
197
|
-
if (layoutLabel.hasOwnProperty("x")) {
|
|
196
|
+
inputLabel.points = layoutLabel ? layoutLabel.points : [];
|
|
197
|
+
if (layoutLabel && layoutLabel.hasOwnProperty("x")) {
|
|
198
198
|
inputLabel.x = layoutLabel.x;
|
|
199
199
|
inputLabel.y = layoutLabel.y;
|
|
200
200
|
}
|
package/src/layout/dagre.ts
CHANGED
|
@@ -104,7 +104,7 @@ export class DagreLayout extends Base {
|
|
|
104
104
|
*/
|
|
105
105
|
public execute() {
|
|
106
106
|
const self = this;
|
|
107
|
-
const { nodes, nodeSize, rankdir, combos, begin, radial } = self;
|
|
107
|
+
const { nodes, nodeSize, rankdir, combos, begin, radial, comboEdges = [], vedges = [] } = self;
|
|
108
108
|
if (!nodes) return;
|
|
109
109
|
const edges = (self.edges as any[]) || [];
|
|
110
110
|
const g = new DagreGraph({
|
|
@@ -112,6 +112,14 @@ export class DagreLayout extends Base {
|
|
|
112
112
|
compound: true,
|
|
113
113
|
});
|
|
114
114
|
|
|
115
|
+
// collect the nodes in their combo, to create virtual edges for comboEdges
|
|
116
|
+
const nodeComboMap = {} as any;
|
|
117
|
+
nodes.forEach(node => {
|
|
118
|
+
if (!node.comboId) return;
|
|
119
|
+
nodeComboMap[node.comboId] = nodeComboMap[node.comboId] || [];
|
|
120
|
+
nodeComboMap[node.comboId].push(node.id);
|
|
121
|
+
})
|
|
122
|
+
|
|
115
123
|
let nodeSizeFunc: (d?: any) => number[];
|
|
116
124
|
if (!nodeSize) {
|
|
117
125
|
nodeSizeFunc = (d: any) => {
|
|
@@ -142,13 +150,22 @@ export class DagreLayout extends Base {
|
|
|
142
150
|
g.setDefaultEdgeLabel(() => ({}));
|
|
143
151
|
g.setGraph(self);
|
|
144
152
|
|
|
145
|
-
const comboMap: { [key: string]:
|
|
153
|
+
const comboMap: { [key: string]: any } = {};
|
|
146
154
|
|
|
147
155
|
if (this.sortByCombo && combos) {
|
|
148
156
|
combos.forEach((combo) => {
|
|
157
|
+
comboMap[combo.id] = combo;
|
|
158
|
+
// regard the collapsed combo as a node
|
|
159
|
+
if (combo.collapsed) {
|
|
160
|
+
const size = nodeSizeFunc(combo);
|
|
161
|
+
const verti = vertisep(combo);
|
|
162
|
+
const hori = horisep(combo);
|
|
163
|
+
const width = size[0] + 2 * hori;
|
|
164
|
+
const height = size[1] + 2 * verti;
|
|
165
|
+
g.setNode(combo.id, { width, height });
|
|
166
|
+
}
|
|
149
167
|
if (!combo.parentId) return;
|
|
150
168
|
if (!comboMap[combo.parentId]) {
|
|
151
|
-
comboMap[combo.parentId] = true;
|
|
152
169
|
g.setNode(combo.parentId, {});
|
|
153
170
|
}
|
|
154
171
|
g.setParent(combo.id, combo.parentId);
|
|
@@ -171,7 +188,7 @@ export class DagreLayout extends Base {
|
|
|
171
188
|
|
|
172
189
|
if (this.sortByCombo && node.comboId) {
|
|
173
190
|
if (!comboMap[node.comboId]) {
|
|
174
|
-
comboMap[node.comboId] =
|
|
191
|
+
comboMap[node.comboId] = { id: node.comboId };
|
|
175
192
|
g.setNode(node.comboId, {});
|
|
176
193
|
}
|
|
177
194
|
g.setParent(node.id, node.comboId);
|
|
@@ -191,6 +208,20 @@ export class DagreLayout extends Base {
|
|
|
191
208
|
}
|
|
192
209
|
});
|
|
193
210
|
|
|
211
|
+
// create virtual edges from node to node for comboEdges
|
|
212
|
+
(comboEdges?.concat(vedges || []))?.forEach((comboEdge: any) => {
|
|
213
|
+
const { source, target } = comboEdge;
|
|
214
|
+
const sources = comboMap[source]?.collapsed ? [source] : nodeComboMap[source] || [source];
|
|
215
|
+
const targets = comboMap[target]?.collapsed ? [target] : nodeComboMap[target] || [target];
|
|
216
|
+
sources.forEach((s: string) => {
|
|
217
|
+
targets.forEach((t: string) => {
|
|
218
|
+
g.setEdge(s, t, {
|
|
219
|
+
weight: comboEdge.weight || 1,
|
|
220
|
+
});
|
|
221
|
+
})
|
|
222
|
+
})
|
|
223
|
+
})
|
|
224
|
+
|
|
194
225
|
// 考虑增量图中的原始图
|
|
195
226
|
let prevGraph: DagreGraph | undefined = undefined;
|
|
196
227
|
if (self.preset?.nodes) {
|
|
@@ -317,6 +348,7 @@ export class DagreLayout extends Base {
|
|
|
317
348
|
if (isFirstLevel && layerNodes.nodes.length === 1) {
|
|
318
349
|
// 将新坐标写入源数据
|
|
319
350
|
const i = nodes.findIndex((it) => it.id === layerNodes.nodes[0]);
|
|
351
|
+
if (i <= -1) return;
|
|
320
352
|
nodes[i].x = dBegin[0];
|
|
321
353
|
nodes[i].y = dBegin[1];
|
|
322
354
|
radiusMap[layerNodes.nodes[0]] = 0;
|
|
@@ -347,6 +379,7 @@ export class DagreLayout extends Base {
|
|
|
347
379
|
const target = getEdgeTerminal(it, 'target');
|
|
348
380
|
return source === edge.v && target === edge.w;
|
|
349
381
|
});
|
|
382
|
+
if (i <= -1) return;
|
|
350
383
|
if ((self.edgeLabelSpace) && self.controlPoints && edges[i].type !== "loop") {
|
|
351
384
|
const otherDim = dim === 'x' ? 'y' : 'x';
|
|
352
385
|
const controlPoints = coord?.points?.slice(1, coord.points.length - 1);
|
|
@@ -371,12 +404,16 @@ export class DagreLayout extends Base {
|
|
|
371
404
|
} else {
|
|
372
405
|
g.nodes().forEach((node: any) => {
|
|
373
406
|
const coord = g.node(node)!;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
407
|
+
if (!coord) return;
|
|
408
|
+
let ndata: any = nodes.find((it) => it.id === node);
|
|
409
|
+
if (!ndata) {
|
|
410
|
+
ndata = combos?.find((it) => it.id === node);
|
|
411
|
+
}
|
|
412
|
+
if (!ndata) return;
|
|
413
|
+
ndata.x = coord.x! + dBegin[0];
|
|
414
|
+
ndata.y = coord.y! + dBegin[1];
|
|
378
415
|
// @ts-ignore: pass layer order to data for increment layout use
|
|
379
|
-
|
|
416
|
+
ndata._order = coord._order;
|
|
380
417
|
});
|
|
381
418
|
g.edges().forEach((edge: any) => {
|
|
382
419
|
const coord = g.edge(edge);
|
|
@@ -385,6 +422,7 @@ export class DagreLayout extends Base {
|
|
|
385
422
|
const target = getEdgeTerminal(it, 'target');
|
|
386
423
|
return source === edge.v && target === edge.w;
|
|
387
424
|
});
|
|
425
|
+
if (i <= -1) return;
|
|
388
426
|
if ((self.edgeLabelSpace) && self.controlPoints && edges[i].type !== "loop") {
|
|
389
427
|
edges[i].controlPoints = coord?.points?.slice(1, coord.points.length - 1); // 去掉头尾
|
|
390
428
|
edges[i].controlPoints.forEach((point: any) => {
|
|
@@ -396,7 +434,6 @@ export class DagreLayout extends Base {
|
|
|
396
434
|
}
|
|
397
435
|
|
|
398
436
|
if (self.onLayoutEnd) self.onLayoutEnd();
|
|
399
|
-
|
|
400
437
|
return {
|
|
401
438
|
nodes,
|
|
402
439
|
edges,
|
package/src/layout/types.ts
CHANGED
|
@@ -40,6 +40,7 @@ export interface Combo {
|
|
|
40
40
|
size?: number;
|
|
41
41
|
r?: number;
|
|
42
42
|
itemType?: string;
|
|
43
|
+
collapsed?: boolean;
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
export interface Model {
|
|
@@ -50,6 +51,7 @@ export interface Model {
|
|
|
50
51
|
hiddenNodes?: Node[];
|
|
51
52
|
hiddenEdges?: Edge[];
|
|
52
53
|
hiddenCombos?: Combo[];
|
|
54
|
+
vedges?: Edge[]; // temp edges e.g. the edge generated for releated collapsed combo
|
|
53
55
|
}
|
|
54
56
|
|
|
55
57
|
export interface OutModel extends Model {
|