ink-graph-new 0.0.1-beta.25
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/README.md +5 -0
- package/dist/assets/big/dataSourceTypeIcon.d.ts +23 -0
- package/dist/assets/big/dataSourceTypeIcon.d.ts.map +1 -0
- package/dist/assets/big/dataSourceTypeIcon.js +23 -0
- package/dist/assets/big/dataSourceTypeIcon.js.map +1 -0
- package/dist/assets/big/entityType.d.ts +2 -0
- package/dist/assets/big/entityType.d.ts.map +1 -0
- package/dist/assets/big/entityType.js +2 -0
- package/dist/assets/big/entityType.js.map +1 -0
- package/dist/assets/big/lineageIcon.d.ts +14 -0
- package/dist/assets/big/lineageIcon.d.ts.map +1 -0
- package/dist/assets/big/lineageIcon.js +14 -0
- package/dist/assets/big/lineageIcon.js.map +1 -0
- package/dist/assets/big/tableTypeIcon.d.ts +7 -0
- package/dist/assets/big/tableTypeIcon.d.ts.map +1 -0
- package/dist/assets/big/tableTypeIcon.js +7 -0
- package/dist/assets/big/tableTypeIcon.js.map +1 -0
- package/dist/assets/big/tipIcon.d.ts +4 -0
- package/dist/assets/big/tipIcon.d.ts.map +1 -0
- package/dist/assets/big/tipIcon.js +4 -0
- package/dist/assets/big/tipIcon.js.map +1 -0
- package/dist/assets/index.d.ts +4 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +7 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/components/Edges/ALDEdge.d.ts +11 -0
- package/dist/components/Edges/ALDEdge.d.ts.map +1 -0
- package/dist/components/Edges/ALDEdge.js +195 -0
- package/dist/components/Edges/ALDEdge.js.map +1 -0
- package/dist/components/Edges/BaseEdge.d.ts +24 -0
- package/dist/components/Edges/BaseEdge.d.ts.map +1 -0
- package/dist/components/Edges/BaseEdge.js +171 -0
- package/dist/components/Edges/BaseEdge.js.map +1 -0
- package/dist/components/Edges/DagreEdge.d.ts +7 -0
- package/dist/components/Edges/DagreEdge.d.ts.map +1 -0
- package/dist/components/Edges/DagreEdge.js +73 -0
- package/dist/components/Edges/DagreEdge.js.map +1 -0
- package/dist/components/Edges/HierarchyEdge.d.ts +11 -0
- package/dist/components/Edges/HierarchyEdge.d.ts.map +1 -0
- package/dist/components/Edges/HierarchyEdge.js +75 -0
- package/dist/components/Edges/HierarchyEdge.js.map +1 -0
- package/dist/components/Edges/index.d.ts +6 -0
- package/dist/components/Edges/index.d.ts.map +1 -0
- package/dist/components/Edges/index.js +6 -0
- package/dist/components/Edges/index.js.map +1 -0
- package/dist/components/Edges/utils/bezierPath.d.ts +2 -0
- package/dist/components/Edges/utils/bezierPath.d.ts.map +1 -0
- package/dist/components/Edges/utils/bezierPath.js +24 -0
- package/dist/components/Edges/utils/bezierPath.js.map +1 -0
- package/dist/components/Edges/utils/index.d.ts +4 -0
- package/dist/components/Edges/utils/index.d.ts.map +1 -0
- package/dist/components/Edges/utils/index.js +4 -0
- package/dist/components/Edges/utils/index.js.map +1 -0
- package/dist/components/Edges/utils/loopBackPath.d.ts +2 -0
- package/dist/components/Edges/utils/loopBackPath.d.ts.map +1 -0
- package/dist/components/Edges/utils/loopBackPath.js +35 -0
- package/dist/components/Edges/utils/loopBackPath.js.map +1 -0
- package/dist/components/Edges/utils/selfConnectPath.d.ts +2 -0
- package/dist/components/Edges/utils/selfConnectPath.d.ts.map +1 -0
- package/dist/components/Edges/utils/selfConnectPath.js +25 -0
- package/dist/components/Edges/utils/selfConnectPath.js.map +1 -0
- package/dist/components/Nodes/ALDNode.d.ts +18 -0
- package/dist/components/Nodes/ALDNode.d.ts.map +1 -0
- package/dist/components/Nodes/ALDNode.js +34 -0
- package/dist/components/Nodes/ALDNode.js.map +1 -0
- package/dist/components/Nodes/BaseNode.d.ts +37 -0
- package/dist/components/Nodes/BaseNode.d.ts.map +1 -0
- package/dist/components/Nodes/BaseNode.js +225 -0
- package/dist/components/Nodes/BaseNode.js.map +1 -0
- package/dist/components/Nodes/index.d.ts +3 -0
- package/dist/components/Nodes/index.d.ts.map +1 -0
- package/dist/components/Nodes/index.js +3 -0
- package/dist/components/Nodes/index.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -0
- package/dist/constant/bigEvents.d.ts +22 -0
- package/dist/constant/bigEvents.d.ts.map +1 -0
- package/dist/constant/bigEvents.js +25 -0
- package/dist/constant/bigEvents.js.map +1 -0
- package/dist/constant/events.d.ts +5 -0
- package/dist/constant/events.d.ts.map +1 -0
- package/dist/constant/events.js +6 -0
- package/dist/constant/events.js.map +1 -0
- package/dist/constant/index.d.ts +3 -0
- package/dist/constant/index.d.ts.map +1 -0
- package/dist/constant/index.js +3 -0
- package/dist/constant/index.js.map +1 -0
- package/dist/constant/lineage.d.ts +64 -0
- package/dist/constant/lineage.d.ts.map +1 -0
- package/dist/constant/lineage.js +95 -0
- package/dist/constant/lineage.js.map +1 -0
- package/dist/graph/Graph.d.ts +83 -0
- package/dist/graph/Graph.d.ts.map +1 -0
- package/dist/graph/Graph.js +392 -0
- package/dist/graph/Graph.js.map +1 -0
- package/dist/graph/TreeGraph.d.ts +65 -0
- package/dist/graph/TreeGraph.d.ts.map +1 -0
- package/dist/graph/TreeGraph.js +267 -0
- package/dist/graph/TreeGraph.js.map +1 -0
- package/dist/graph/index.d.ts +3 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +3 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/ALDLayout.d.ts +8 -0
- package/dist/layout/ALDLayout.d.ts.map +1 -0
- package/dist/layout/ALDLayout.js +147 -0
- package/dist/layout/ALDLayout.js.map +1 -0
- package/dist/layout/BaseLayout.d.ts +14 -0
- package/dist/layout/BaseLayout.d.ts.map +1 -0
- package/dist/layout/BaseLayout.js +10 -0
- package/dist/layout/BaseLayout.js.map +1 -0
- package/dist/layout/BigLayout.d.ts +43 -0
- package/dist/layout/BigLayout.d.ts.map +1 -0
- package/dist/layout/BigLayout.js +308 -0
- package/dist/layout/BigLayout.js.map +1 -0
- package/dist/layout/Dagre.d.ts +6 -0
- package/dist/layout/Dagre.d.ts.map +1 -0
- package/dist/layout/Dagre.js +97 -0
- package/dist/layout/Dagre.js.map +1 -0
- package/dist/layout/HierarchyLayout.d.ts +7 -0
- package/dist/layout/HierarchyLayout.d.ts.map +1 -0
- package/dist/layout/HierarchyLayout.js +66 -0
- package/dist/layout/HierarchyLayout.js.map +1 -0
- package/dist/layout/index.d.ts +6 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +6 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/manager/PluginManager.d.ts +11 -0
- package/dist/manager/PluginManager.d.ts.map +1 -0
- package/dist/manager/PluginManager.js +25 -0
- package/dist/manager/PluginManager.js.map +1 -0
- package/dist/manager/index.d.ts +2 -0
- package/dist/manager/index.d.ts.map +1 -0
- package/dist/manager/index.js +2 -0
- package/dist/manager/index.js.map +1 -0
- package/dist/plugins/Minimap/index.d.ts +54 -0
- package/dist/plugins/Minimap/index.d.ts.map +1 -0
- package/dist/plugins/Minimap/index.js +378 -0
- package/dist/plugins/Minimap/index.js.map +1 -0
- package/dist/plugins/Tools/ResetViewport.d.ts +11 -0
- package/dist/plugins/Tools/ResetViewport.d.ts.map +1 -0
- package/dist/plugins/Tools/ResetViewport.js +32 -0
- package/dist/plugins/Tools/ResetViewport.js.map +1 -0
- package/dist/plugins/Tools/ToolPlugin.d.ts +9 -0
- package/dist/plugins/Tools/ToolPlugin.d.ts.map +1 -0
- package/dist/plugins/Tools/ToolPlugin.js +42 -0
- package/dist/plugins/Tools/ToolPlugin.js.map +1 -0
- package/dist/plugins/Tools/Zoom.d.ts +8 -0
- package/dist/plugins/Tools/Zoom.d.ts.map +1 -0
- package/dist/plugins/Tools/Zoom.js +58 -0
- package/dist/plugins/Tools/Zoom.js.map +1 -0
- package/dist/plugins/Tools/defaultConfig.d.ts +12 -0
- package/dist/plugins/Tools/defaultConfig.d.ts.map +1 -0
- package/dist/plugins/Tools/defaultConfig.js +12 -0
- package/dist/plugins/Tools/defaultConfig.js.map +1 -0
- package/dist/plugins/Tools/index.d.ts +2 -0
- package/dist/plugins/Tools/index.d.ts.map +1 -0
- package/dist/plugins/Tools/index.js +2 -0
- package/dist/plugins/Tools/index.js.map +1 -0
- package/dist/types/Edge.d.ts +34 -0
- package/dist/types/Edge.d.ts.map +1 -0
- package/dist/types/Edge.js +2 -0
- package/dist/types/Edge.js.map +1 -0
- package/dist/types/Graph.d.ts +53 -0
- package/dist/types/Graph.d.ts.map +1 -0
- package/dist/types/Graph.js +2 -0
- package/dist/types/Graph.js.map +1 -0
- package/dist/types/Layout.d.ts +57 -0
- package/dist/types/Layout.d.ts.map +1 -0
- package/dist/types/Layout.js +9 -0
- package/dist/types/Layout.js.map +1 -0
- package/dist/types/Node.d.ts +45 -0
- package/dist/types/Node.d.ts.map +1 -0
- package/dist/types/Node.js +2 -0
- package/dist/types/Node.js.map +1 -0
- package/dist/types/Plugin.d.ts +7 -0
- package/dist/types/Plugin.d.ts.map +1 -0
- package/dist/types/Plugin.js +2 -0
- package/dist/types/Plugin.js.map +1 -0
- package/dist/types/big/BigNode.d.ts +8 -0
- package/dist/types/big/BigNode.d.ts.map +1 -0
- package/dist/types/big/BigNode.js +15 -0
- package/dist/types/big/BigNode.js.map +1 -0
- package/dist/types/big/enumType.d.ts +6 -0
- package/dist/types/big/enumType.d.ts.map +1 -0
- package/dist/types/big/enumType.js +11 -0
- package/dist/types/big/enumType.js.map +1 -0
- package/dist/types/big/index.d.ts +3 -0
- package/dist/types/big/index.d.ts.map +1 -0
- package/dist/types/big/index.js +3 -0
- package/dist/types/big/index.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/big/defaultNode.d.ts +23 -0
- package/dist/utils/big/defaultNode.d.ts.map +1 -0
- package/dist/utils/big/defaultNode.js +40 -0
- package/dist/utils/big/defaultNode.js.map +1 -0
- package/dist/utils/big/getIconByType.d.ts +2 -0
- package/dist/utils/big/getIconByType.d.ts.map +1 -0
- package/dist/utils/big/getIconByType.js +21 -0
- package/dist/utils/big/getIconByType.js.map +1 -0
- package/dist/utils/big/index.d.ts +2 -0
- package/dist/utils/big/index.d.ts.map +1 -0
- package/dist/utils/big/index.js +2 -0
- package/dist/utils/big/index.js.map +1 -0
- package/dist/utils/buildTreeEdge.d.ts +3 -0
- package/dist/utils/buildTreeEdge.d.ts.map +1 -0
- package/dist/utils/buildTreeEdge.js +49 -0
- package/dist/utils/buildTreeEdge.js.map +1 -0
- package/dist/utils/canvas.d.ts +5 -0
- package/dist/utils/canvas.d.ts.map +1 -0
- package/dist/utils/canvas.js +13 -0
- package/dist/utils/canvas.js.map +1 -0
- package/dist/utils/graph.d.ts +4 -0
- package/dist/utils/graph.d.ts.map +1 -0
- package/dist/utils/graph.js +22 -0
- package/dist/utils/graph.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/node-performance-test.d.ts +3 -0
- package/dist/utils/node-performance-test.d.ts.map +1 -0
- package/dist/utils/node-performance-test.js +155 -0
- package/dist/utils/node-performance-test.js.map +1 -0
- package/dist/utils/node.d.ts +8 -0
- package/dist/utils/node.d.ts.map +1 -0
- package/dist/utils/node.js +275 -0
- package/dist/utils/node.js.map +1 -0
- package/dist/utils/text.d.ts +2 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +14 -0
- package/dist/utils/text.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import { __read, __values } from "tslib";
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
import { groupNodesByEdgesAndDirection } from '../utils';
|
|
4
|
+
import { EDirection } from '../types';
|
|
5
|
+
import { DOWNGRADE_TABLE_HEADER_HEIGHT } from '../constant/lineage';
|
|
6
|
+
var groupedNodesArr = [];
|
|
7
|
+
export function BigLayout(nodes, edges, canvasDomRoot, options) {
|
|
8
|
+
var e_1, _a, e_2, _b, e_3, _c;
|
|
9
|
+
var _d;
|
|
10
|
+
var _e = options || {}, _f = _e.shouldGroupNodes, shouldGroupNodes = _f === void 0 ? true : _f, _g = _e.sortConfig, sortConfig = _g === void 0 ? [] : _g, mode = _e.mode;
|
|
11
|
+
// get start node index
|
|
12
|
+
var startNodeIndex = nodes.findIndex(function (node) { return node.isStartNode; });
|
|
13
|
+
if (startNodeIndex < 0)
|
|
14
|
+
return;
|
|
15
|
+
// get start node config
|
|
16
|
+
var startNode = nodes[startNodeIndex];
|
|
17
|
+
if (!startNode)
|
|
18
|
+
return;
|
|
19
|
+
// 【性能优化】预建立节点索引Map,避免重复的find操作
|
|
20
|
+
var nodeMap = new Map();
|
|
21
|
+
nodes.forEach(function (node) {
|
|
22
|
+
nodeMap.set(node.id, node);
|
|
23
|
+
});
|
|
24
|
+
if (shouldGroupNodes) {
|
|
25
|
+
var nodesConfigMap_1 = new Map();
|
|
26
|
+
nodes.forEach(function (n) {
|
|
27
|
+
var _a;
|
|
28
|
+
nodesConfigMap_1.set(n.id, n);
|
|
29
|
+
(_a = n.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (c) {
|
|
30
|
+
nodesConfigMap_1.set(c.id, c);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
// get input group data
|
|
34
|
+
// 对上游节点进行分层,eg: {sourceNode1: -1}, {sourceNode2: -1} ... {startNode: 0}
|
|
35
|
+
var inputGroupedData = groupNodesByEdgesAndDirection(startNode, nodesConfigMap_1, edges, EDirection.INPUT);
|
|
36
|
+
// get output group data
|
|
37
|
+
// 对下游节点进行分层 eg: {startNode: 0} ... {targetNode1: 1}, {targetNode2: 1}
|
|
38
|
+
var outputGroupedData = groupNodesByEdgesAndDirection(startNode, nodesConfigMap_1, edges, EDirection.OUTPUT);
|
|
39
|
+
if (!inputGroupedData && !outputGroupedData)
|
|
40
|
+
return;
|
|
41
|
+
var inputGroupNodes = inputGroupedData.groupedNodes;
|
|
42
|
+
var outputGroupNodes = outputGroupedData.groupedNodes;
|
|
43
|
+
// 两个map合并
|
|
44
|
+
var groupedNodes = new Map();
|
|
45
|
+
if (inputGroupNodes) {
|
|
46
|
+
try {
|
|
47
|
+
for (var inputGroupNodes_1 = __values(inputGroupNodes), inputGroupNodes_1_1 = inputGroupNodes_1.next(); !inputGroupNodes_1_1.done; inputGroupNodes_1_1 = inputGroupNodes_1.next()) {
|
|
48
|
+
var _h = __read(inputGroupNodes_1_1.value, 2), key = _h[0], value = _h[1];
|
|
49
|
+
if (groupedNodes.has(key))
|
|
50
|
+
continue;
|
|
51
|
+
groupedNodes.set(key, value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
55
|
+
finally {
|
|
56
|
+
try {
|
|
57
|
+
if (inputGroupNodes_1_1 && !inputGroupNodes_1_1.done && (_a = inputGroupNodes_1.return)) _a.call(inputGroupNodes_1);
|
|
58
|
+
}
|
|
59
|
+
finally { if (e_1) throw e_1.error; }
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (outputGroupNodes) {
|
|
63
|
+
try {
|
|
64
|
+
for (var outputGroupNodes_1 = __values(outputGroupNodes), outputGroupNodes_1_1 = outputGroupNodes_1.next(); !outputGroupNodes_1_1.done; outputGroupNodes_1_1 = outputGroupNodes_1.next()) {
|
|
65
|
+
var _j = __read(outputGroupNodes_1_1.value, 2), key = _j[0], value = _j[1];
|
|
66
|
+
if (groupedNodes.has(key))
|
|
67
|
+
continue;
|
|
68
|
+
groupedNodes.set(key, value);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
72
|
+
finally {
|
|
73
|
+
try {
|
|
74
|
+
if (outputGroupNodes_1_1 && !outputGroupNodes_1_1.done && (_b = outputGroupNodes_1.return)) _b.call(outputGroupNodes_1);
|
|
75
|
+
}
|
|
76
|
+
finally { if (e_2) throw e_2.error; }
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!groupedNodes)
|
|
80
|
+
return;
|
|
81
|
+
// 根据层级进行分组,eg: {0: [id1, id2, id3], 1: [id4, id5, id6]}
|
|
82
|
+
var groupedMap = new Map();
|
|
83
|
+
try {
|
|
84
|
+
for (var groupedNodes_1 = __values(groupedNodes), groupedNodes_1_1 = groupedNodes_1.next(); !groupedNodes_1_1.done; groupedNodes_1_1 = groupedNodes_1.next()) {
|
|
85
|
+
var _k = __read(groupedNodes_1_1.value, 2), key = _k[0], value = _k[1];
|
|
86
|
+
if (!groupedMap.has(value)) {
|
|
87
|
+
groupedMap.set(value, []);
|
|
88
|
+
}
|
|
89
|
+
groupedMap.get(value).push(key);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
93
|
+
finally {
|
|
94
|
+
try {
|
|
95
|
+
if (groupedNodes_1_1 && !groupedNodes_1_1.done && (_c = groupedNodes_1.return)) _c.call(groupedNodes_1);
|
|
96
|
+
}
|
|
97
|
+
finally { if (e_3) throw e_3.error; }
|
|
98
|
+
}
|
|
99
|
+
// 根据层级进行排序,eg: [[sourceNode1, sourceNode2], [startNode], [targetNode1, targetNode2]]
|
|
100
|
+
groupedNodesArr = Array.from(groupedMap.entries())
|
|
101
|
+
.sort(function (a, b) { return a[0] - b[0]; })
|
|
102
|
+
.map(function (entry) { return entry[1]; });
|
|
103
|
+
if (sortConfig === null || sortConfig === void 0 ? void 0 : sortConfig.length) {
|
|
104
|
+
sortNodesByCustomRules(nodesConfigMap_1, sortConfig);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
var positions = [];
|
|
108
|
+
var OFFSET_Y = 100;
|
|
109
|
+
// 【性能优化】预计算每个节点的高度,避免重复计算
|
|
110
|
+
var getNodeHeight = function (nodeId) {
|
|
111
|
+
var _a;
|
|
112
|
+
var node = nodeMap.get(nodeId);
|
|
113
|
+
if (!node)
|
|
114
|
+
return 0;
|
|
115
|
+
if (mode === 'SIMPLE') {
|
|
116
|
+
return DOWNGRADE_TABLE_HEADER_HEIGHT + 20;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
return (((_a = node.style) === null || _a === void 0 ? void 0 : _a.height) || 0) + 20;
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
// 【性能优化】优化布局计算逻辑,减少循环复杂度
|
|
123
|
+
groupedNodesArr.forEach(function (nodeIdGroup, i) {
|
|
124
|
+
var currentY = OFFSET_Y;
|
|
125
|
+
nodeIdGroup.forEach(function (nodeId) {
|
|
126
|
+
var _a;
|
|
127
|
+
var currNode = nodeMap.get(nodeId);
|
|
128
|
+
if (!currNode)
|
|
129
|
+
return;
|
|
130
|
+
var widthTotal = i * (((_a = currNode.style) === null || _a === void 0 ? void 0 : _a.width) || 0) + i * 150;
|
|
131
|
+
positions.push({
|
|
132
|
+
id: nodeId,
|
|
133
|
+
pos: [widthTotal, currentY],
|
|
134
|
+
});
|
|
135
|
+
// 【性能优化】直接累加当前节点高度,避免重复计算之前节点
|
|
136
|
+
currentY += getNodeHeight(nodeId);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
if (!canvasDomRoot) {
|
|
140
|
+
console.error('root is not defined');
|
|
141
|
+
}
|
|
142
|
+
var canvasWidth = canvasDomRoot.clientWidth || 0;
|
|
143
|
+
var canvasHeight = canvasDomRoot.clientHeight || 0;
|
|
144
|
+
if (!_.isNumber(canvasWidth) || !_.isNumber(canvasHeight))
|
|
145
|
+
return;
|
|
146
|
+
var centerX = canvasWidth * 0.5;
|
|
147
|
+
// const centerY = canvasHeight * 0.5;
|
|
148
|
+
var originNodePos = positions.filter(function (pos) { return pos.id === startNode.id; })[0];
|
|
149
|
+
var originNodeWidth = ((_d = startNode.style) === null || _d === void 0 ? void 0 : _d.width) || 0;
|
|
150
|
+
var transformX = centerX - (originNodePos.pos[0] + originNodeWidth * 0.5);
|
|
151
|
+
// const OFFSET_Y = 100;
|
|
152
|
+
// const transformY = centerY - originNodePos.pos[1] - OFFSET_Y;
|
|
153
|
+
var transformY = 0;
|
|
154
|
+
for (var i = 0; i < positions.length; i++) {
|
|
155
|
+
positions[i].pos[0] += transformX;
|
|
156
|
+
positions[i].pos[1] += transformY;
|
|
157
|
+
}
|
|
158
|
+
// 【性能优化】使用Map建立位置索引,避免重复查找
|
|
159
|
+
var positionMap = new Map();
|
|
160
|
+
positions.forEach(function (pos) {
|
|
161
|
+
positionMap.set(pos.id, pos);
|
|
162
|
+
});
|
|
163
|
+
// 更新节点位置
|
|
164
|
+
nodes === null || nodes === void 0 ? void 0 : nodes.forEach(function (node) {
|
|
165
|
+
var pos = positionMap.get(node.id);
|
|
166
|
+
if (pos) {
|
|
167
|
+
node.position.x = pos.pos[0];
|
|
168
|
+
node.position.y = pos.pos[1];
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
return {
|
|
172
|
+
nodes: nodes,
|
|
173
|
+
edges: edges,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
export function getNodeHeight(node) {
|
|
177
|
+
var totalHeight = 0;
|
|
178
|
+
var children = node.children, relatedColumns = node.relatedColumns, pagination = node.pagination, isOpen = node.isOpen; // FIXME @yk
|
|
179
|
+
// header height
|
|
180
|
+
var headerHeight = 132;
|
|
181
|
+
totalHeight += headerHeight;
|
|
182
|
+
var visibleRelatedColumns = relatedColumns === null || relatedColumns === void 0 ? void 0 : relatedColumns.filter(function (column) { return column.visible; });
|
|
183
|
+
if (visibleRelatedColumns && visibleRelatedColumns.length > 0) {
|
|
184
|
+
var COLUMN_HEIGHT = 32; // height per column
|
|
185
|
+
var gap = 16;
|
|
186
|
+
var relatedColumnCount = visibleRelatedColumns.length;
|
|
187
|
+
totalHeight += relatedColumnCount * COLUMN_HEIGHT + gap;
|
|
188
|
+
}
|
|
189
|
+
// column height calculation
|
|
190
|
+
if (!isOpen)
|
|
191
|
+
return totalHeight;
|
|
192
|
+
if (children && children.length > 0) {
|
|
193
|
+
var COLUMN_HEIGHT = 32; // height per column
|
|
194
|
+
var itemsPerPage = (pagination === null || pagination === void 0 ? void 0 : pagination.pageSize) || children.length;
|
|
195
|
+
var currentPage = (pagination === null || pagination === void 0 ? void 0 : pagination.pageNum) || 1;
|
|
196
|
+
// Calculate items in current page
|
|
197
|
+
var startIndex = (currentPage - 1) * itemsPerPage;
|
|
198
|
+
var endIndex = Math.min(startIndex + itemsPerPage, children.length);
|
|
199
|
+
var currentPageItems = endIndex - startIndex;
|
|
200
|
+
var columnHeight = currentPageItems * COLUMN_HEIGHT;
|
|
201
|
+
totalHeight += columnHeight;
|
|
202
|
+
}
|
|
203
|
+
// footer height
|
|
204
|
+
var footerHeight = 32;
|
|
205
|
+
totalHeight += footerHeight;
|
|
206
|
+
return totalHeight;
|
|
207
|
+
}
|
|
208
|
+
export function getNodeWidth(node) {
|
|
209
|
+
var _a;
|
|
210
|
+
return ((_a = node.style) === null || _a === void 0 ? void 0 : _a.width) || 0;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* 根据自定义规则对节点进行排序
|
|
214
|
+
*
|
|
215
|
+
* @description
|
|
216
|
+
* 对每一层的节点按照指定规则进行排序,支持多个排序规则,每个规则可以:
|
|
217
|
+
* 1. 指定排序字段
|
|
218
|
+
* 2. 设置默认值
|
|
219
|
+
* 3. 自定义转换函数
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* // 按照类型和名称排序
|
|
224
|
+
* const rules = [
|
|
225
|
+
* {
|
|
226
|
+
* field: 'data.type',
|
|
227
|
+
* transform: (value) => orderList?.get(value) ?? Number.MAX_SAFE_INTEGER
|
|
228
|
+
* },
|
|
229
|
+
* {
|
|
230
|
+
* field: 'data.name',
|
|
231
|
+
* transform: (value) => String(value || '').toLowerCase(),
|
|
232
|
+
* defaultValue: ''
|
|
233
|
+
* }
|
|
234
|
+
* ];
|
|
235
|
+
* sortNodesByCustomRules(nodesConfigMap, rules);
|
|
236
|
+
* ```
|
|
237
|
+
*
|
|
238
|
+
* @param nodesConfigMap - 节点配置映射表,key 为节点 ID
|
|
239
|
+
* @param rules - 排序规则数组,按照数组顺序依次排序
|
|
240
|
+
* @returns void - 直接修改全局的 sortedGroup
|
|
241
|
+
*/
|
|
242
|
+
export function sortNodesByCustomRules(nodesConfigMap, rules) {
|
|
243
|
+
// 【性能优化】预处理排序键值,避免在排序过程中重复计算
|
|
244
|
+
var sortKeyCache = new Map();
|
|
245
|
+
// 对每个节点组应用排序规则
|
|
246
|
+
groupedNodesArr = groupedNodesArr.map(function (nodeIdGroup) {
|
|
247
|
+
// 为当前组的每个节点预计算排序键值
|
|
248
|
+
nodeIdGroup.forEach(function (nodeId) {
|
|
249
|
+
if (!sortKeyCache.has(nodeId)) {
|
|
250
|
+
var sortKeys = rules.map(function (_a) {
|
|
251
|
+
var _b;
|
|
252
|
+
var field = _a.field, defaultValue = _a.defaultValue, transform = _a.transform;
|
|
253
|
+
var nodeConfig = nodesConfigMap.get(nodeId);
|
|
254
|
+
if (!nodeConfig)
|
|
255
|
+
return defaultValue;
|
|
256
|
+
// 直接访问属性路径,避免使用lodash.get的开销
|
|
257
|
+
var value = (_b = getNestedValue(nodeConfig, field)) !== null && _b !== void 0 ? _b : defaultValue;
|
|
258
|
+
return transform ? transform(value) : value;
|
|
259
|
+
});
|
|
260
|
+
sortKeyCache.set(nodeId, sortKeys);
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
// 使用预计算的排序键值进行排序
|
|
264
|
+
return nodeIdGroup.slice().sort(function (a, b) {
|
|
265
|
+
var keysA = sortKeyCache.get(a) || [];
|
|
266
|
+
var keysB = sortKeyCache.get(b) || [];
|
|
267
|
+
for (var i = 0; i < rules.length; i++) {
|
|
268
|
+
var valueA = keysA[i];
|
|
269
|
+
var valueB = keysB[i];
|
|
270
|
+
if (valueA < valueB)
|
|
271
|
+
return -1;
|
|
272
|
+
if (valueA > valueB)
|
|
273
|
+
return 1;
|
|
274
|
+
}
|
|
275
|
+
return 0;
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* 【性能优化】高效的嵌套属性访问函数,替代lodash.get
|
|
281
|
+
* @param obj 对象
|
|
282
|
+
* @param path 属性路径,如 'data.type'
|
|
283
|
+
* @returns 属性值
|
|
284
|
+
*/
|
|
285
|
+
function getNestedValue(obj, path) {
|
|
286
|
+
var e_4, _a;
|
|
287
|
+
if (!obj || !path)
|
|
288
|
+
return undefined;
|
|
289
|
+
var keys = path.split('.');
|
|
290
|
+
var result = obj;
|
|
291
|
+
try {
|
|
292
|
+
for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
|
|
293
|
+
var key = keys_1_1.value;
|
|
294
|
+
if (result == null)
|
|
295
|
+
return undefined;
|
|
296
|
+
result = result[key];
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
300
|
+
finally {
|
|
301
|
+
try {
|
|
302
|
+
if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
|
|
303
|
+
}
|
|
304
|
+
finally { if (e_4) throw e_4.error; }
|
|
305
|
+
}
|
|
306
|
+
return result;
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=BigLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BigLayout.js","sourceRoot":"","sources":["../../src/layout/BigLayout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dagre.d.ts","sourceRoot":"","sources":["../../src/layout/Dagre.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,qBAAa,WAAY,SAAQ,UAAU;IACzC,IAAI,SAAkB;IAEtB,GAAG;CA+FJ"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { __extends, __read, __spreadArray } from "tslib";
|
|
2
|
+
import { vec2 } from 'gl-matrix';
|
|
3
|
+
import { BaseLayout } from './BaseLayout';
|
|
4
|
+
import dagre from 'dagre';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import { getCanvasCenter } from '../utils/canvas';
|
|
7
|
+
var DagreLayout = /** @class */ (function (_super) {
|
|
8
|
+
__extends(DagreLayout, _super);
|
|
9
|
+
function DagreLayout() {
|
|
10
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
|
|
11
|
+
_this.type = 'LAYOUT_DAGRE';
|
|
12
|
+
return _this;
|
|
13
|
+
}
|
|
14
|
+
DagreLayout.prototype.run = function () {
|
|
15
|
+
var _this = this;
|
|
16
|
+
var nodesConfig = this.graph.nodesConfig.filter(function (cfg) { return cfg.visible; });
|
|
17
|
+
var edgesConfig = this.graph.edgesConfig.filter(function (cfg) {
|
|
18
|
+
return cfg.visible &&
|
|
19
|
+
_.some(nodesConfig, { id: cfg.source }) &&
|
|
20
|
+
_.some(nodesConfig, { id: cfg.target });
|
|
21
|
+
});
|
|
22
|
+
var g = new dagre.graphlib.Graph();
|
|
23
|
+
g.setDefaultEdgeLabel(function () { return ({}); });
|
|
24
|
+
var layout = this.graph.getConfig().layout;
|
|
25
|
+
g.setGraph({
|
|
26
|
+
rankdir: (layout === null || layout === void 0 ? void 0 : layout.rankdir) || 'TB',
|
|
27
|
+
ranksep: (layout === null || layout === void 0 ? void 0 : layout.ranksep) || 160,
|
|
28
|
+
nodesep: (layout === null || layout === void 0 ? void 0 : layout.nodesep) || 60,
|
|
29
|
+
});
|
|
30
|
+
var startNode = null;
|
|
31
|
+
nodesConfig.forEach(function (nodeCfg) {
|
|
32
|
+
var currNode = _this.graph.getNodeById(nodeCfg.id);
|
|
33
|
+
if (!currNode)
|
|
34
|
+
return;
|
|
35
|
+
g.setNode(currNode.id, {
|
|
36
|
+
width: currNode.getBBox().width, // TODO 改由node自身提供相应的方法 @yunke
|
|
37
|
+
height: currNode.getBBox().height, // TODO 改由node自身提供相应的方法 @yunke
|
|
38
|
+
});
|
|
39
|
+
if (nodeCfg.isStartNode) {
|
|
40
|
+
startNode = nodeCfg;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
edgesConfig.forEach(function (edgeCfg) {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
// 过滤掉间接边,间接边不参与布局
|
|
46
|
+
if ((layout === null || layout === void 0 ? void 0 : layout.excludeIndirectEdges) &&
|
|
47
|
+
((_b = (_a = edgeCfg.data) === null || _a === void 0 ? void 0 : _a.relationTypeCode) === null || _b === void 0 ? void 0 : _b.includes('Indirect')) &&
|
|
48
|
+
edgeCfg.relationType !== 'ALL') {
|
|
49
|
+
return; // FIXME: @yk 暴露边间接或直接类型给外部使用
|
|
50
|
+
}
|
|
51
|
+
g.setEdge(edgeCfg.source, edgeCfg.target);
|
|
52
|
+
});
|
|
53
|
+
dagre.layout(g);
|
|
54
|
+
// 将startNode放到canvas中心
|
|
55
|
+
var transformX = 0;
|
|
56
|
+
var transformY = 0;
|
|
57
|
+
if (startNode === null || startNode === void 0 ? void 0 : startNode.id) {
|
|
58
|
+
var centerPos = getCanvasCenter(this.graph.canvas) || {
|
|
59
|
+
centerX: 0,
|
|
60
|
+
centerY: 0,
|
|
61
|
+
};
|
|
62
|
+
var nodePos = g.node(startNode.id);
|
|
63
|
+
if (nodePos && centerPos) {
|
|
64
|
+
transformX = centerPos.centerX - nodePos.x;
|
|
65
|
+
transformY = centerPos.centerY - nodePos.y;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
var nodesPosition = g.nodes().map(function (nodeId) {
|
|
69
|
+
var nodePos = g.node(nodeId);
|
|
70
|
+
if (nodePos) {
|
|
71
|
+
var newPos = vec2.fromValues(nodePos.x - nodePos.width / 2 + transformX, nodePos.y - nodePos.height / 2 + transformY);
|
|
72
|
+
return {
|
|
73
|
+
id: nodeId,
|
|
74
|
+
pos: newPos,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
var edgesPosition = g.edges().map(function (edge) {
|
|
79
|
+
var edgePos = g.edge(edge);
|
|
80
|
+
if (edgePos) {
|
|
81
|
+
return {
|
|
82
|
+
source: edge.v,
|
|
83
|
+
target: edge.w,
|
|
84
|
+
points: edgePos.points.map(function (item) { return ({
|
|
85
|
+
x: item.x + transformX,
|
|
86
|
+
y: item.y + transformY,
|
|
87
|
+
}); }),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
this.graph.updateNodesPos(nodesPosition);
|
|
92
|
+
this.graph.updateEdgesPos(edgesPosition);
|
|
93
|
+
};
|
|
94
|
+
return DagreLayout;
|
|
95
|
+
}(BaseLayout));
|
|
96
|
+
export { DagreLayout };
|
|
97
|
+
//# sourceMappingURL=Dagre.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dagre.js","sourceRoot":"","sources":["../../src/layout/Dagre.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HierarchyLayout.d.ts","sourceRoot":"","sources":["../../src/layout/HierarchyLayout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,IAAI,SAAsB;IAE1B,GAAG;IAiDH,kBAAkB,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA,EAAE,UAAU,KAAA;CASpD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { __extends, __read, __spreadArray } from "tslib";
|
|
2
|
+
import { getCanvasCenter } from '../utils/canvas';
|
|
3
|
+
import { BaseLayout } from './BaseLayout';
|
|
4
|
+
import Hierarchy from '@antv/hierarchy';
|
|
5
|
+
var HierarchyLayout = /** @class */ (function (_super) {
|
|
6
|
+
__extends(HierarchyLayout, _super);
|
|
7
|
+
function HierarchyLayout() {
|
|
8
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
|
|
9
|
+
_this.type = 'layout_hierarchy';
|
|
10
|
+
return _this;
|
|
11
|
+
}
|
|
12
|
+
HierarchyLayout.prototype.run = function () {
|
|
13
|
+
var layout = this.graph.getConfig().layout;
|
|
14
|
+
var _a = layout.defaultTranslateY, defaultTranslateY = _a === void 0 ? 150 : _a;
|
|
15
|
+
var rootNode = Hierarchy.compactBox(this.graph.nodesConfig, {
|
|
16
|
+
direction: (layout === null || layout === void 0 ? void 0 : layout.direction) || 'TB',
|
|
17
|
+
getId: (layout === null || layout === void 0 ? void 0 : layout.getId) ||
|
|
18
|
+
function getId(d) {
|
|
19
|
+
return d.id;
|
|
20
|
+
},
|
|
21
|
+
getHeight: (layout === null || layout === void 0 ? void 0 : layout.getHight) ||
|
|
22
|
+
function getHeight(d) {
|
|
23
|
+
var _a;
|
|
24
|
+
return ((_a = d.style) === null || _a === void 0 ? void 0 : _a.height) || 64;
|
|
25
|
+
},
|
|
26
|
+
getWidth: (layout === null || layout === void 0 ? void 0 : layout.getWidth) ||
|
|
27
|
+
function getWidth(d) {
|
|
28
|
+
var _a;
|
|
29
|
+
return ((_a = d.style) === null || _a === void 0 ? void 0 : _a.width) || 200;
|
|
30
|
+
},
|
|
31
|
+
getVGap: (layout === null || layout === void 0 ? void 0 : layout.getVGap) ||
|
|
32
|
+
function getVGap() {
|
|
33
|
+
return 30;
|
|
34
|
+
},
|
|
35
|
+
getHGap: (layout === null || layout === void 0 ? void 0 : layout.getHGap) ||
|
|
36
|
+
function getHGap() {
|
|
37
|
+
return 50;
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
// 将startNode放到canvas中心
|
|
41
|
+
var centerPos = getCanvasCenter(this.graph.canvas) || {
|
|
42
|
+
centerX: 0,
|
|
43
|
+
centerY: 0,
|
|
44
|
+
};
|
|
45
|
+
var transformX = centerPos.centerX - rootNode.x - rootNode.width / 2;
|
|
46
|
+
var transformY = Number(defaultTranslateY) - rootNode.y;
|
|
47
|
+
this.updateNodePosition(rootNode, transformX, transformY);
|
|
48
|
+
this.graph.updateNodesPos(rootNode);
|
|
49
|
+
this.graph.updateEdgesPos(rootNode);
|
|
50
|
+
};
|
|
51
|
+
// 遍历rootNode这个tree,把每一层的x,y都加上transformX,transformY
|
|
52
|
+
HierarchyLayout.prototype.updateNodePosition = function (rootNode, transformX, transformY) {
|
|
53
|
+
var _this = this;
|
|
54
|
+
var _a;
|
|
55
|
+
if (!rootNode)
|
|
56
|
+
return;
|
|
57
|
+
rootNode.x += transformX;
|
|
58
|
+
rootNode.y += transformY;
|
|
59
|
+
(_a = rootNode === null || rootNode === void 0 ? void 0 : rootNode.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
|
|
60
|
+
_this.updateNodePosition(child, transformX, transformY);
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
return HierarchyLayout;
|
|
64
|
+
}(BaseLayout));
|
|
65
|
+
export { HierarchyLayout };
|
|
66
|
+
//# sourceMappingURL=HierarchyLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HierarchyLayout.js","sourceRoot":"","sources":["../../src/layout/HierarchyLayout.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC;IAAqC,mCAAU;IAA/C;;QACE,UAAI,GAAG,kBAAkB,CAAC;;IA4D5B,CAAC;IA1DC,6BAAG,GAAH;QACU,IAAA,MAAM,GAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAA3B,CAA4B;QAClC,IAAA,KAA4B,MAAM,kBAAX,EAAvB,iBAAiB,mBAAG,GAAG,KAAA,CAAY;QAE3C,IAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC5D,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,IAAI;YACpC,KAAK,EACH,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK;gBACb,SAAS,KAAK,CAAC,CAAC;oBACd,OAAO,CAAC,CAAC,EAAE,CAAC;gBACd,CAAC;YACH,SAAS,EACP,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;gBAChB,SAAS,SAAS,CAAC,CAAC;;oBAClB,OAAO,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,MAAM,KAAI,EAAE,CAAC;gBAC/B,CAAC;YACH,QAAQ,EACN,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;gBAChB,SAAS,QAAQ,CAAC,CAAC;;oBACjB,OAAO,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,KAAK,KAAI,GAAG,CAAC;gBAC/B,CAAC;YACH,OAAO,EACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;gBACf,SAAS,OAAO;oBACd,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,OAAO,EACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;gBACf,SAAS,OAAO;oBACd,OAAO,EAAE,CAAC;gBACZ,CAAC;SACJ,CAAC,CAAC;QAEH,uBAAuB;QAEvB,IAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;YACtD,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;SACX,CAAC;QACF,IAAM,UAAU,GAAG,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QACvE,IAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,oDAAoD;IACpD,4CAAkB,GAAlB,UAAmB,QAAQ,EAAE,UAAU,EAAE,UAAU;QAAnD,iBAQC;;QAPC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC;QACzB,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC;QAEzB,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,OAAO,CAAC,UAAC,KAAK;YAChC,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IACH,sBAAC;AAAD,CAAC,AA7DD,CAAqC,UAAU,GA6D9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IGraph } from '../types';
|
|
2
|
+
import { BasePlugin } from '../types/Plugin';
|
|
3
|
+
export declare class PluginManager {
|
|
4
|
+
private graph;
|
|
5
|
+
private plugins;
|
|
6
|
+
constructor(graph: IGraph);
|
|
7
|
+
register(plugin: BasePlugin): void;
|
|
8
|
+
execute(): void;
|
|
9
|
+
destroy(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=PluginManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/manager/PluginManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,aAAa;IAGZ,OAAO,CAAC,KAAK;IAFzB,OAAO,CAAC,OAAO,CAAsC;gBAEjC,KAAK,EAAE,MAAM;IAEjC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAM3B,OAAO;IAMP,OAAO;CAKR"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var PluginManager = /** @class */ (function () {
|
|
2
|
+
function PluginManager(graph) {
|
|
3
|
+
this.graph = graph;
|
|
4
|
+
this.plugins = new Map();
|
|
5
|
+
}
|
|
6
|
+
PluginManager.prototype.register = function (plugin) {
|
|
7
|
+
if (!this.plugins.has(plugin.name)) {
|
|
8
|
+
this.plugins.set(plugin.name, plugin);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
PluginManager.prototype.execute = function () {
|
|
12
|
+
var _this = this;
|
|
13
|
+
this.plugins.forEach(function (plugin) {
|
|
14
|
+
plugin.apply(_this.graph);
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
PluginManager.prototype.destroy = function () {
|
|
18
|
+
this.plugins.forEach(function (plugin) {
|
|
19
|
+
plugin.destroy();
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
return PluginManager;
|
|
23
|
+
}());
|
|
24
|
+
export { PluginManager };
|
|
25
|
+
//# sourceMappingURL=PluginManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/manager/PluginManager.ts"],"names":[],"mappings":"AAGA;IAGE,uBAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAFzB,YAAO,GAA4B,IAAI,GAAG,EAAE,CAAC;IAEjB,CAAC;IAErC,gCAAQ,GAAR,UAAS,MAAkB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,+BAAO,GAAP;QAAA,iBAIC;QAHC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YAC1B,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAO,GAAP;QACE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YAC1B,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IACH,oBAAC;AAAD,CAAC,AAtBD,IAsBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|