@antv/layout 0.2.0-beta.2 → 0.2.0-beta.5

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.
@@ -0,0 +1,391 @@
1
+ import { Base } from './base';
2
+ import { buildGraph, flatGraph, getEdges, HierarchyNodeType, LAYOUT_CONFIG, mergeConfig, NodeType, ROOT_NAME } from 'dagre-compound';
3
+ import { isArray, isObject } from '../util';
4
+ export class DagreCompoundLayout extends Base {
5
+ constructor(options) {
6
+ super();
7
+ /** layout 方向, 可选 TB, BT, LR, RL */
8
+ this.rankdir = 'TB';
9
+ /** 节点水平间距(px) */
10
+ this.nodesep = 50;
11
+ /** 边水平间距(px) */
12
+ this.edgesep = 5;
13
+ /** 每一层节点之间间距 */
14
+ this.ranksep = 50;
15
+ /** 是否保留布局连线的控制点 */
16
+ this.controlPoints = true;
17
+ /** 是否保留使用布局计算的锚点 */
18
+ this.anchorPoint = true;
19
+ this.nodes = [];
20
+ this.edges = [];
21
+ this.combos = [];
22
+ /** 迭代结束的回调函数 */
23
+ this.onLayoutEnd = () => { };
24
+ this.updateCfg(options);
25
+ }
26
+ getDefaultCfg() {
27
+ return {
28
+ rankdir: 'TB',
29
+ align: undefined,
30
+ begin: undefined,
31
+ nodeSize: undefined,
32
+ nodesep: 50,
33
+ ranksep: 50,
34
+ controlPoints: true,
35
+ anchorPoint: true // 是否使用布局计算的锚点
36
+ };
37
+ }
38
+ init(data) {
39
+ const hiddenNodes = data.hiddenNodes || []; // 被隐藏的节点
40
+ const hiddenEdges = data.hiddenEdges || []; // 被隐藏的边
41
+ const hiddenCombos = data.hiddenCombos || []; // 赋值 hiddenCombos
42
+ // 确保此次排序按照用户输入顺序
43
+ this.nodes = this.getDataByOrder((data.nodes || []).concat(hiddenNodes));
44
+ this.edges = this.getDataByOrder((data.edges || []).concat(hiddenEdges));
45
+ this.combos = (data.combos || []).concat(hiddenCombos.map((hc) => (Object.assign(Object.assign({}, hc), { collapsed: true }))));
46
+ }
47
+ execute() {
48
+ const self = this;
49
+ const { nodes, edges } = self;
50
+ if (!nodes)
51
+ return;
52
+ const { graphDef, graphOption, graphSettings } = self.getLayoutConfig();
53
+ const renderInfo = buildGraph(graphDef, graphOption, graphSettings);
54
+ const flattenedRenderInfo = flatGraph(renderInfo, true); // 打平数据进行遍历
55
+ this.updatePosition(flattenedRenderInfo);
56
+ if (self.onLayoutEnd)
57
+ self.onLayoutEnd();
58
+ return {
59
+ nodes,
60
+ edges
61
+ };
62
+ }
63
+ /**
64
+ * combo 模式下查找节点完整路径
65
+ * @param nodeId
66
+ * @private
67
+ */
68
+ getNodePath(nodeId) {
69
+ const self = this;
70
+ const { nodes, combos } = self;
71
+ const targetNode = nodes.find((n) => n.id === nodeId);
72
+ const findPath = (comboId, fullPath = []) => {
73
+ const combo = combos.find((c) => c.id === comboId);
74
+ if (combo) {
75
+ fullPath.unshift(comboId);
76
+ if (combo.parentId) {
77
+ return findPath(combo.parentId, fullPath);
78
+ }
79
+ return fullPath;
80
+ }
81
+ return fullPath;
82
+ };
83
+ if (targetNode && targetNode.comboId) {
84
+ return findPath(targetNode.comboId, [nodeId]);
85
+ }
86
+ return [nodeId];
87
+ }
88
+ /** 准备 dagre-compound 布局参数 */
89
+ getLayoutConfig() {
90
+ var _a, _b, _c;
91
+ const self = this;
92
+ const { nodes, edges, combos, nodeSize, rankdir, align, edgesep, nodesep, ranksep, settings } = self;
93
+ const compound = (combos || []).reduce((pre, cur) => {
94
+ const matchedNodes = nodes.filter((n) => n.comboId === cur.id).map((n) => n.id);
95
+ const matchedCombos = (combos || []).filter((n) => n.parentId === cur.id).map((n) => n.id);
96
+ if (matchedNodes.length || matchedCombos.length) {
97
+ pre[cur.id] = [...matchedNodes, ...matchedCombos];
98
+ }
99
+ return pre;
100
+ }, {});
101
+ /** 计算 nodeSize */
102
+ let nodeSizeFunc;
103
+ if (!nodeSize) {
104
+ nodeSizeFunc = (d) => {
105
+ if (d && d.size) {
106
+ if (isArray(d.size)) {
107
+ return d.size;
108
+ }
109
+ if (isObject(d.size)) {
110
+ return [d.size.width || 40, d.size.height || 40];
111
+ }
112
+ return [d.size, d.size];
113
+ }
114
+ return [40, 40];
115
+ };
116
+ }
117
+ else if (isArray(nodeSize)) {
118
+ nodeSizeFunc = () => nodeSize;
119
+ }
120
+ else {
121
+ nodeSizeFunc = () => [nodeSize, nodeSize];
122
+ }
123
+ /** 计算 comboSize */
124
+ const comboSizeFunc = (d) => {
125
+ if (d && d.size) {
126
+ if (isArray(d.size)) {
127
+ return d.size;
128
+ }
129
+ return [d.size, d.size];
130
+ }
131
+ return [80, 40];
132
+ };
133
+ // 接受 defaultCombo 设置的 size
134
+ const [metaWidth, metaHeight] = comboSizeFunc(combos === null || combos === void 0 ? void 0 : combos[0]);
135
+ // 初始化 padding
136
+ const subSceneMeta = (_b = (_a = self.graphSettings) === null || _a === void 0 ? void 0 : _a.subScene) === null || _b === void 0 ? void 0 : _b.meta;
137
+ const [paddingTop, paddingRight, paddingBottom, paddingLeft] = ((_c = combos.find((c) => !c.collapsed)) === null || _c === void 0 ? void 0 : _c.padding) || [20, 20, 20, 20];
138
+ const graphDef = {
139
+ compound,
140
+ nodes: [
141
+ ...(nodes || []).map((n) => {
142
+ const size = nodeSizeFunc(n);
143
+ const width = size[0];
144
+ const height = size[1];
145
+ return Object.assign(Object.assign({}, n), { width, height });
146
+ })
147
+ ],
148
+ edges: [...(edges || []).map((e) => (Object.assign(Object.assign({}, e), { v: e.source, w: e.target })))]
149
+ };
150
+ // 需要展开的节点
151
+ const graphOption = {
152
+ expanded: (combos || []).filter((c) => !c.collapsed).map((c) => c.id)
153
+ };
154
+ // dagre-compound 布局参数
155
+ const graphMetaConfig = {
156
+ graph: {
157
+ meta: {
158
+ align,
159
+ rankDir: rankdir,
160
+ nodeSep: nodesep,
161
+ edgeSep: edgesep,
162
+ rankSep: ranksep
163
+ }
164
+ },
165
+ subScene: {
166
+ meta: {
167
+ paddingTop: paddingTop || (subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingTop) || 20,
168
+ paddingRight: paddingRight || (subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingRight) || 20,
169
+ paddingBottom: paddingBottom || (subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingBottom) || 20,
170
+ paddingLeft: paddingLeft || (subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingLeft) || 20,
171
+ labelHeight: 0
172
+ }
173
+ },
174
+ nodeSize: {
175
+ meta: {
176
+ width: metaWidth,
177
+ height: metaHeight
178
+ }
179
+ }
180
+ };
181
+ // 合并用户输入的内容
182
+ const graphSettings = mergeConfig(settings, Object.assign({}, mergeConfig(graphMetaConfig, LAYOUT_CONFIG)));
183
+ self.graphSettings = graphSettings;
184
+ return {
185
+ graphDef,
186
+ graphOption,
187
+ graphSettings
188
+ };
189
+ }
190
+ /** 更新节点与边位置 */
191
+ updatePosition(flattenedGraph) {
192
+ const { nodes, edges } = flattenedGraph;
193
+ this.updateNodePosition(nodes, edges);
194
+ this.updateEdgePosition(nodes, edges);
195
+ }
196
+ getBegin(flattenedNodes, flattenedEdges) {
197
+ const self = this;
198
+ const { begin } = self;
199
+ const dBegin = [0, 0];
200
+ if (begin) {
201
+ let minX = Infinity;
202
+ let minY = Infinity;
203
+ flattenedNodes.forEach((node) => {
204
+ if (minX > node.x)
205
+ minX = node.x;
206
+ if (minY > node.y)
207
+ minY = node.y;
208
+ });
209
+ flattenedEdges.forEach((edge) => {
210
+ edge.points.forEach((point) => {
211
+ if (minX > point.x)
212
+ minX = point.x;
213
+ if (minY > point.y)
214
+ minY = point.y;
215
+ });
216
+ });
217
+ dBegin[0] = begin[0] - minX;
218
+ dBegin[1] = begin[1] - minY;
219
+ }
220
+ return dBegin;
221
+ }
222
+ updateNodePosition(flattenedNodes, flattenedEdges) {
223
+ const self = this;
224
+ const { combos, nodes, edges, anchorPoint, graphSettings } = self;
225
+ const dBegin = this.getBegin(flattenedNodes, flattenedEdges);
226
+ flattenedNodes.forEach((node) => {
227
+ var _a;
228
+ const { x, y, id, type, coreBox } = node;
229
+ if (type === HierarchyNodeType.META && id !== ROOT_NAME) {
230
+ const i = combos.findIndex((item) => item.id === id);
231
+ const subSceneMeta = (_a = graphSettings === null || graphSettings === void 0 ? void 0 : graphSettings.subScene) === null || _a === void 0 ? void 0 : _a.meta;
232
+ // 将布局生成的 combo 位置暂存至 offsetX offsetY
233
+ combos[i].offsetX = x + dBegin[0];
234
+ combos[i].offsetY = y + dBegin[1];
235
+ combos[i].fixSize = [coreBox.width, coreBox.height];
236
+ combos[i].fixCollapseSize = [coreBox.width, coreBox.height];
237
+ // 如果设置了收起时隐藏 padding,则手动优化 combo padding 信息,展开的话则恢复
238
+ if (!node.expanded) {
239
+ combos[i].padding = [0, 0, 0, 0];
240
+ }
241
+ else {
242
+ combos[i].padding = [
243
+ subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingTop,
244
+ subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingRight,
245
+ subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingBottom,
246
+ subSceneMeta === null || subSceneMeta === void 0 ? void 0 : subSceneMeta.paddingLeft
247
+ ];
248
+ }
249
+ }
250
+ else if (type === HierarchyNodeType.OP) {
251
+ const i = nodes.findIndex((item) => item.id === id);
252
+ nodes[i].x = x + dBegin[0];
253
+ nodes[i].y = y + dBegin[1];
254
+ if (anchorPoint) {
255
+ const anchorPoints = [];
256
+ const outEdges = flattenedEdges.filter((e) => e.v === id);
257
+ const inEdges = flattenedEdges.filter((e) => e.w === id);
258
+ // 指定出边锚点,锚点中心点为 [0.5, 0.5]
259
+ if (outEdges.length > 0) {
260
+ outEdges.forEach((outEdge) => {
261
+ const firstPoint = outEdge.points[0];
262
+ const anchorPointX = (firstPoint.x - x) / node.width + 0.5;
263
+ const anchorPointY = (firstPoint.y - y) / node.height + 0.5;
264
+ anchorPoints.push([anchorPointX, anchorPointY]);
265
+ // 出边对应 source 边锚点
266
+ outEdge.baseEdgeList.forEach((baseEdge) => {
267
+ const edge = edges.find((e) => e.source === baseEdge.v && e.target === baseEdge.w);
268
+ if (edge) {
269
+ edge.sourceAnchor = anchorPoints.length - 1;
270
+ }
271
+ });
272
+ });
273
+ }
274
+ // 指定入边锚点
275
+ if (inEdges.length > 0) {
276
+ inEdges.forEach((inEdge) => {
277
+ const lastPoint = inEdge.points[inEdge.points.length - 1];
278
+ const anchorPointX = (lastPoint.x - x) / node.width + 0.5;
279
+ const anchorPointY = (lastPoint.y - y) / node.height + 0.5;
280
+ anchorPoints.push([anchorPointX, anchorPointY]);
281
+ // 出边对应 source 锚点
282
+ inEdge.baseEdgeList.forEach((baseEdge) => {
283
+ const edge = edges.find((e) => e.source === baseEdge.v && e.target === baseEdge.w);
284
+ if (edge) {
285
+ edge.targetAnchor = anchorPoints.length - 1;
286
+ }
287
+ });
288
+ });
289
+ }
290
+ nodes[i].anchorPoints = anchorPoints.length > 0 ? anchorPoints : nodes[i].anchorPoints || [];
291
+ }
292
+ }
293
+ });
294
+ }
295
+ updateEdgePosition(flattenedNodes, flattenedEdges) {
296
+ const self = this;
297
+ const { combos, edges, controlPoints } = self;
298
+ const dBegin = this.getBegin(flattenedNodes, flattenedEdges);
299
+ if (controlPoints) {
300
+ combos.forEach((combo) => {
301
+ combo.inEdges = [];
302
+ combo.outEdges = [];
303
+ });
304
+ edges.forEach((sourceEdge) => {
305
+ var _a, _b, _c, _d;
306
+ let sourceNode = flattenedNodes.find((v) => v.id === sourceEdge.source);
307
+ let targetNode = flattenedNodes.find((v) => v.id === sourceEdge.target);
308
+ // Combo 收起状态,dagre-compound 不会渲染该节点,边需要使用到 group 的边作为补充
309
+ let points = [];
310
+ let sortedEdges = [];
311
+ if (sourceNode && targetNode) {
312
+ sortedEdges = getEdges(sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.id, targetNode === null || targetNode === void 0 ? void 0 : targetNode.id, flattenedNodes);
313
+ }
314
+ else if (!sourceNode || !targetNode) {
315
+ /** 存在收起节点时,需要重新计算边的 controlPoints,确保线正常 */
316
+ // 情况1:目标节点被收起了,向上寻找该节点最近一个存在的父节点
317
+ const sourceNodePath = self.getNodePath(sourceEdge.source);
318
+ const targetNodePath = self.getNodePath(sourceEdge.target);
319
+ const lastExistingSource = sourceNodePath
320
+ .reverse()
321
+ .slice(!sourceNode ? 1 : 0)
322
+ .find((parentId) => flattenedNodes.find((fNode) => fNode.id === parentId));
323
+ const lastExistingTarget = targetNodePath
324
+ .reverse()
325
+ .slice(!targetNode ? 1 : 0)
326
+ .find((parentId) => flattenedNodes.find((fNode) => fNode.id === parentId));
327
+ sourceNode = flattenedNodes.find((v) => v.id === lastExistingSource);
328
+ targetNode = flattenedNodes.find((v) => v.id === lastExistingTarget);
329
+ sortedEdges = getEdges(sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.id, targetNode === null || targetNode === void 0 ? void 0 : targetNode.id, flattenedNodes, { v: sourceEdge.source, w: sourceEdge.target });
330
+ }
331
+ points = sortedEdges.reduce((pre, cur) => {
332
+ return [
333
+ ...pre,
334
+ ...cur.points.map((p) => {
335
+ return Object.assign(Object.assign({}, p), { x: p.x + dBegin[0], y: p.y + dBegin[1] });
336
+ })
337
+ ];
338
+ }, []);
339
+ // 取消首尾节点
340
+ points = points.slice(1, -1);
341
+ sourceEdge.controlPoints = points;
342
+ if ((targetNode === null || targetNode === void 0 ? void 0 : targetNode.type) === NodeType.META) {
343
+ // combo 节点控制点
344
+ const i = combos.findIndex((item) => item.id === (targetNode === null || targetNode === void 0 ? void 0 : targetNode.id));
345
+ if (!combos[i] || ((_a = combos[i].inEdges) === null || _a === void 0 ? void 0 : _a.some((inEdge) => inEdge.source === sourceNode.id && inEdge.target === targetNode.id))) {
346
+ return;
347
+ }
348
+ (_b = combos[i].inEdges) === null || _b === void 0 ? void 0 : _b.push({
349
+ source: sourceNode.id,
350
+ target: targetNode.id,
351
+ controlPoints: points
352
+ });
353
+ }
354
+ if ((sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.type) === NodeType.META) {
355
+ const i = combos.findIndex((item) => item.id === (sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.id));
356
+ if (!combos[i] || ((_c = combos[i].outEdges) === null || _c === void 0 ? void 0 : _c.some((oedge) => oedge.source === sourceNode.id && oedge.target === targetNode.id))) {
357
+ return;
358
+ }
359
+ (_d = combos[i].outEdges) === null || _d === void 0 ? void 0 : _d.push({
360
+ source: sourceNode.id,
361
+ target: targetNode.id,
362
+ controlPoints: points
363
+ });
364
+ }
365
+ });
366
+ }
367
+ }
368
+ getType() {
369
+ return 'dagreCompound';
370
+ }
371
+ /**
372
+ * 确保布局使用的数据与用户输入数据顺序一致
373
+ * 通过 layoutOrder 排序 节点 与 边
374
+ * @param list
375
+ * @private
376
+ */
377
+ getDataByOrder(list) {
378
+ if (list.every((n) => n.layoutOrder !== undefined)) {
379
+ // 所有数据均设置过索引,表示仅布局,数据未变化,无需处理
380
+ }
381
+ else {
382
+ // 首次布局或动态添加删减节点时重新赋值
383
+ list.forEach((n, i) => {
384
+ n.layoutOrder = i;
385
+ });
386
+ }
387
+ // 按照 layoutOrder 排序
388
+ return list.sort((pre, cur) => pre.layoutOrder - cur.layoutOrder);
389
+ }
390
+ }
391
+ //# sourceMappingURL=dagreCompound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dagreCompound.js","sourceRoot":"","sources":["../../src/layout/dagreCompound.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { GForceLayout } from "./gForce";
4
4
  import { ForceLayout } from "./force";
5
5
  import { CircularLayout } from "./circular";
6
6
  import { DagreLayout } from "./dagre";
7
+ import { DagreCompoundLayout } from "./dagreCompound";
7
8
  import { RadialLayout } from "./radial";
8
9
  import { ConcentricLayout } from "./concentric";
9
10
  import { MDSLayout } from "./mds";
@@ -16,5 +17,5 @@ import { ForceAtlas2Layout } from "./forceAtlas2";
16
17
  import { ERLayout } from './er';
17
18
  import { Layout, Layouts } from "./layout";
18
19
  export { Layout, Layouts };
19
- export { GridLayout, RandomLayout, GForceLayout, ForceLayout, CircularLayout, DagreLayout, RadialLayout, ConcentricLayout, MDSLayout, FruchtermanLayout, FruchtermanGPULayout, GForceGPULayout, ComboForceLayout, ComboCombinedLayout, ForceAtlas2Layout, ERLayout };
20
+ export { GridLayout, RandomLayout, GForceLayout, ForceLayout, CircularLayout, DagreLayout, DagreCompoundLayout, RadialLayout, ConcentricLayout, MDSLayout, FruchtermanLayout, FruchtermanGPULayout, GForceGPULayout, ComboForceLayout, ComboCombinedLayout, ForceAtlas2Layout, ERLayout };
20
21
  export * from "./types";
@@ -4,6 +4,7 @@ import { GForceLayout } from "./gForce";
4
4
  import { ForceLayout } from "./force";
5
5
  import { CircularLayout } from "./circular";
6
6
  import { DagreLayout } from "./dagre";
7
+ import { DagreCompoundLayout } from "./dagreCompound";
7
8
  import { RadialLayout } from "./radial";
8
9
  import { ConcentricLayout } from "./concentric";
9
10
  import { MDSLayout } from "./mds";
@@ -17,7 +18,7 @@ import { ERLayout } from './er';
17
18
  import { Layout, Layouts } from "./layout";
18
19
  export { Layout, Layouts };
19
20
  // layout
20
- export { GridLayout, RandomLayout, GForceLayout, ForceLayout, CircularLayout, DagreLayout, RadialLayout, ConcentricLayout, MDSLayout, FruchtermanLayout, FruchtermanGPULayout, GForceGPULayout, ComboForceLayout, ComboCombinedLayout, ForceAtlas2Layout, ERLayout };
21
+ export { GridLayout, RandomLayout, GForceLayout, ForceLayout, CircularLayout, DagreLayout, DagreCompoundLayout, RadialLayout, ConcentricLayout, MDSLayout, FruchtermanLayout, FruchtermanGPULayout, GForceGPULayout, ComboForceLayout, ComboCombinedLayout, ForceAtlas2Layout, ERLayout };
21
22
  // types file
22
23
  export * from "./types";
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAE3B,SAAS;AACT,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACT,CAAC;AAEF,aAAa;AACb,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAE3B,SAAS;AACT,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACT,CAAC;AAEF,aAAa;AACb,cAAc,SAAS,CAAC"}
@@ -15,6 +15,7 @@ import { ComboForceLayout } from "./comboForce";
15
15
  import { ComboCombinedLayout } from "./comboCombined";
16
16
  import { ForceAtlas2Layout } from "./forceAtlas2";
17
17
  import { ERLayout } from "./er";
18
+ import { DagreCompoundLayout } from "./dagreCompound";
18
19
  export class Layout {
19
20
  constructor(options) {
20
21
  const layoutClass = getLayoutByName(options.type);
@@ -48,6 +49,7 @@ export const Layouts = {
48
49
  forceAtlas2: ForceAtlas2Layout,
49
50
  gForce: GForceLayout,
50
51
  dagre: DagreLayout,
52
+ dagreCompound: DagreCompoundLayout,
51
53
  circular: CircularLayout,
52
54
  radial: RadialLayout,
53
55
  concentric: ConcentricLayout,
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/layout/layout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,MAAM,OAAO,MAAM;IAGjB,YAAY,OAA8B;QACxC,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,IAAW;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,GAA0B;QAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAW;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;CACF;AAED,QAAQ;AACR,SAAS;AACT,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAA2B;IAC7C,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,SAAS;IACd,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,MAAM,EAAE,YAAY;IACpB,YAAY,EAAE,eAAe;IAC7B,iBAAiB,EAAE,oBAAoB;IACvC,EAAE,EAAE,QAAQ;CACb,CAAC"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/layout/layout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,MAAM,OAAO,MAAM;IAGjB,YAAY,OAA8B;QACxC,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,IAAW;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,GAA0B;QAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAW;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;CACF;AAED,QAAQ;AACR,SAAS;AACT,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAA2B;IAC7C,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,aAAa,EAAE,mBAAmB;IAClC,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,SAAS;IACd,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,MAAM,EAAE,YAAY;IACpB,YAAY,EAAE,eAAe;IAC7B,iBAAiB,EAAE,oBAAoB;IACvC,EAAE,EAAE,QAAQ;CACb,CAAC"}
@@ -165,6 +165,19 @@ export interface DagreLayoutOptions {
165
165
  edgeLabelSpace?: boolean;
166
166
  nodeOrder?: string[];
167
167
  }
168
+ export interface DagreCompoundLayoutOptions {
169
+ type?: "dagreCompound";
170
+ rankdir?: "TB" | "BT" | "LR" | "RL";
171
+ align?: "UL" | "UR" | "DL" | "DR";
172
+ begin?: PointTuple;
173
+ nodeSize?: number | number[] | undefined;
174
+ nodesep?: number;
175
+ ranksep?: number;
176
+ controlPoints?: boolean;
177
+ anchorPoint?: boolean;
178
+ settings?: any;
179
+ onLayoutEnd?: () => void;
180
+ }
168
181
  export interface FruchtermanLayoutOptions {
169
182
  type: "fruchterman";
170
183
  center?: PointTuple;
@@ -129,7 +129,7 @@ var ComboCombinedLayout = /** @class */ (function (_super) {
129
129
  });
130
130
  });
131
131
  nodes.forEach(function (node) {
132
- if (node.comboId)
132
+ if (node.comboId && comboMap[node.comboId])
133
133
  return;
134
134
  // 代表节点的节点
135
135
  var oNode = {
@@ -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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"}
@@ -2,7 +2,7 @@
2
2
  * @fileOverview random layout
3
3
  * @author shiwu.wyy@antfin.com
4
4
  */
5
- import { Edge, OutNode, DagreLayoutOptions, PointTuple } from "./types";
5
+ import { Edge, OutNode, DagreLayoutOptions, PointTuple, Node } from "./types";
6
6
  import { Base } from "./base";
7
7
  /**
8
8
  * 层次布局
@@ -30,6 +30,10 @@ export declare class DagreLayout extends Base {
30
30
  sortByCombo: boolean;
31
31
  /** 是否保留每条边上的dummy node */
32
32
  edgeLabelSpace: boolean;
33
+ /** 是否基于 dagre 进行辐射布局,若是,第一层节点将被放置在最内环上,其余层依次向外辐射 */
34
+ radial: boolean;
35
+ /** radial 下生效,中心节点,被指定的节点及其同层节点将被放置在最内环上 */
36
+ focusNode: string | Node | null;
33
37
  /** 给定的节点顺序,配合keepNodeOrder使用 */
34
38
  nodeOrder: string[];
35
39
  /** 上次的布局结果 */
@@ -51,6 +55,8 @@ export declare class DagreLayout extends Base {
51
55
  nodesep: number;
52
56
  ranksep: number;
53
57
  controlPoints: boolean;
58
+ radial: boolean;
59
+ focusNode: null;
54
60
  };
55
61
  layoutNode: (nodeId: string) => boolean;
56
62
  /**
@@ -60,5 +66,6 @@ export declare class DagreLayout extends Base {
60
66
  nodes: OutNode[];
61
67
  edges: any[];
62
68
  } | undefined;
69
+ private getRadialPos;
63
70
  getType(): string;
64
71
  }