@antv/layout 1.2.10 → 1.2.11
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/747bfdc8efc94bc1fa90.worker.js +2 -0
- package/dist/747bfdc8efc94bc1fa90.worker.js.map +1 -0
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/lib/bundle-entry.js +19 -0
- package/lib/bundle-entry.js.map +1 -0
- package/lib/bundle-supervisor.js +94 -0
- package/lib/bundle-supervisor.js.map +1 -0
- package/lib/bundle-worker.js +52 -0
- package/lib/bundle-worker.js.map +1 -0
- package/lib/circular.js +258 -0
- package/lib/circular.js.map +1 -0
- package/lib/comboCombined.js +440 -0
- package/lib/comboCombined.js.map +1 -0
- package/lib/concentric.js +229 -0
- package/lib/concentric.js.map +1 -0
- package/lib/d3Force/forceInBox.js +331 -0
- package/lib/d3Force/forceInBox.js.map +1 -0
- package/lib/d3Force/index.js +338 -0
- package/lib/d3Force/index.js.map +1 -0
- package/lib/dagre/acyclic.js +62 -0
- package/lib/dagre/acyclic.js.map +1 -0
- package/lib/dagre/add-border-segments.js +37 -0
- package/lib/dagre/add-border-segments.js.map +1 -0
- package/lib/dagre/coordinate-system.js +65 -0
- package/lib/dagre/coordinate-system.js.map +1 -0
- package/lib/dagre/data/list.d.ts +1 -1
- package/lib/dagre/data/list.js +50 -0
- package/lib/dagre/data/list.js.map +1 -0
- package/lib/dagre/greedy-fas.js +147 -0
- package/lib/dagre/greedy-fas.js.map +1 -0
- package/lib/dagre/layout.js +470 -0
- package/lib/dagre/layout.js.map +1 -0
- package/lib/dagre/nesting-graph.js +153 -0
- package/lib/dagre/nesting-graph.js.map +1 -0
- package/lib/dagre/normalize.js +98 -0
- package/lib/dagre/normalize.js.map +1 -0
- package/lib/dagre/order/add-subgraph-constraints.js +45 -0
- package/lib/dagre/order/add-subgraph-constraints.js.map +1 -0
- package/lib/dagre/order/barycenter.js +23 -0
- package/lib/dagre/order/barycenter.js.map +1 -0
- package/lib/dagre/order/build-layer-graph.js +96 -0
- package/lib/dagre/order/build-layer-graph.js.map +1 -0
- package/lib/dagre/order/cross-count.js +63 -0
- package/lib/dagre/order/cross-count.js.map +1 -0
- package/lib/dagre/order/index.js +91 -0
- package/lib/dagre/order/index.js.map +1 -0
- package/lib/dagre/order/init-data-order.js +28 -0
- package/lib/dagre/order/init-data-order.js.map +1 -0
- package/lib/dagre/order/init-order.js +50 -0
- package/lib/dagre/order/init-order.js.map +1 -0
- package/lib/dagre/order/resolve-conflicts.d.ts +1 -1
- package/lib/dagre/order/resolve-conflicts.js +121 -0
- package/lib/dagre/order/resolve-conflicts.js.map +1 -0
- package/lib/dagre/order/sort-subgraph.js +84 -0
- package/lib/dagre/order/sort-subgraph.js.map +1 -0
- package/lib/dagre/order/sort.js +74 -0
- package/lib/dagre/order/sort.js.map +1 -0
- package/lib/dagre/parent-dummy-chains.js +80 -0
- package/lib/dagre/parent-dummy-chains.js.map +1 -0
- package/lib/dagre/position/bk.d.ts +1 -1
- package/lib/dagre/position/bk.js +398 -0
- package/lib/dagre/position/bk.js.map +1 -0
- package/lib/dagre/position/index.js +54 -0
- package/lib/dagre/position/index.js.map +1 -0
- package/lib/dagre/rank/feasible-tree.js +164 -0
- package/lib/dagre/rank/feasible-tree.js.map +1 -0
- package/lib/dagre/rank/index.js +48 -0
- package/lib/dagre/rank/index.js.map +1 -0
- package/lib/dagre/rank/network-simplex.js +232 -0
- package/lib/dagre/rank/network-simplex.js.map +1 -0
- package/lib/dagre/rank/util.js +138 -0
- package/lib/dagre/rank/util.js.map +1 -0
- package/lib/dagre/util.js +289 -0
- package/lib/dagre/util.js.map +1 -0
- package/lib/dagre.js +545 -0
- package/lib/dagre.js.map +1 -0
- package/lib/force/forceNBody.js +123 -0
- package/lib/force/forceNBody.js.map +1 -0
- package/lib/force/index.js +805 -0
- package/lib/force/index.js.map +1 -0
- package/lib/force/types.d.ts +3 -3
- package/lib/force/types.js +2 -0
- package/lib/force/types.js.map +1 -0
- package/lib/forceAtlas2/body.d.ts +1 -1
- package/lib/forceAtlas2/body.js +91 -0
- package/lib/forceAtlas2/body.js.map +1 -0
- package/lib/forceAtlas2/index.js +562 -0
- package/lib/forceAtlas2/index.js.map +1 -0
- package/lib/forceAtlas2/quad.d.ts +1 -1
- package/lib/forceAtlas2/quad.js +98 -0
- package/lib/forceAtlas2/quad.js.map +1 -0
- package/lib/forceAtlas2/quadTree.js +105 -0
- package/lib/forceAtlas2/quadTree.js.map +1 -0
- package/lib/fruchterman.js +376 -0
- package/lib/fruchterman.js.map +1 -0
- package/lib/grid.js +308 -0
- package/lib/grid.js.map +1 -0
- package/lib/index.js +17 -0
- package/lib/index.js.map +1 -0
- package/lib/mds.js +137 -0
- package/lib/mds.js.map +1 -0
- package/lib/radial/index.js +355 -0
- package/lib/radial/index.js.map +1 -0
- package/lib/radial/mds.js +29 -0
- package/lib/radial/mds.js.map +1 -0
- package/lib/radial/radial-nonoverlap-force.d.ts +1 -1
- package/lib/radial/radial-nonoverlap-force.js +100 -0
- package/lib/radial/radial-nonoverlap-force.js.map +1 -0
- package/lib/random.js +98 -0
- package/lib/random.js.map +1 -0
- package/lib/registry.js +27 -0
- package/lib/registry.js.map +1 -0
- package/lib/supervisor.js +90 -0
- package/lib/supervisor.js.map +1 -0
- package/lib/types.d.ts +13 -13
- package/lib/types.js +4 -0
- package/lib/types.js.map +1 -0
- package/lib/util/array.js +2 -0
- package/lib/util/array.js.map +1 -0
- package/lib/util/common.d.ts +12 -0
- package/lib/util/common.js +32 -0
- package/lib/util/common.js.map +1 -0
- package/lib/util/function.js +126 -0
- package/lib/util/function.js.map +1 -0
- package/lib/util/gpu.js +214 -0
- package/lib/util/gpu.js.map +1 -0
- package/lib/util/index.js +7 -0
- package/lib/util/index.js.map +1 -0
- package/lib/util/math.js +257 -0
- package/lib/util/math.js.map +1 -0
- package/lib/util/number.js +5 -0
- package/lib/util/number.js.map +1 -0
- package/lib/util/object.js +42 -0
- package/lib/util/object.js.map +1 -0
- package/lib/util/string.js +15 -0
- package/lib/util/string.js.map +1 -0
- package/lib/worker.d.ts +1 -0
- package/lib/worker.js +45 -0
- package/lib/worker.js.map +1 -0
- package/package.json +2 -2
- package/dist/5fc550bbb6f708833d84.worker.js +0 -2
- package/dist/5fc550bbb6f708833d84.worker.js.map +0 -1
package/lib/util/math.js
ADDED
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { isNumber } from '@antv/util';
|
|
2
|
+
import { isArray } from './array';
|
|
3
|
+
export var floydWarshall = function (adjMatrix) {
|
|
4
|
+
// initialize
|
|
5
|
+
var dist = [];
|
|
6
|
+
var size = adjMatrix.length;
|
|
7
|
+
for (var i = 0; i < size; i += 1) {
|
|
8
|
+
dist[i] = [];
|
|
9
|
+
for (var j = 0; j < size; j += 1) {
|
|
10
|
+
if (i === j) {
|
|
11
|
+
dist[i][j] = 0;
|
|
12
|
+
}
|
|
13
|
+
else if (adjMatrix[i][j] === 0 || !adjMatrix[i][j]) {
|
|
14
|
+
dist[i][j] = Infinity;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
dist[i][j] = adjMatrix[i][j];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// floyd
|
|
22
|
+
for (var k = 0; k < size; k += 1) {
|
|
23
|
+
for (var i = 0; i < size; i += 1) {
|
|
24
|
+
for (var j = 0; j < size; j += 1) {
|
|
25
|
+
if (dist[i][j] > dist[i][k] + dist[k][j]) {
|
|
26
|
+
dist[i][j] = dist[i][k] + dist[k][j];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return dist;
|
|
32
|
+
};
|
|
33
|
+
export var getAdjMatrix = function (data, directed) {
|
|
34
|
+
var nodes = data.nodes, edges = data.edges;
|
|
35
|
+
var matrix = [];
|
|
36
|
+
// map node with index in data.nodes
|
|
37
|
+
var nodeMap = {};
|
|
38
|
+
if (!nodes) {
|
|
39
|
+
throw new Error('invalid nodes data!');
|
|
40
|
+
}
|
|
41
|
+
if (nodes) {
|
|
42
|
+
nodes.forEach(function (node, i) {
|
|
43
|
+
nodeMap[node.id] = i;
|
|
44
|
+
var row = [];
|
|
45
|
+
matrix.push(row);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
edges === null || edges === void 0 ? void 0 : edges.forEach(function (e) {
|
|
49
|
+
var source = e.source, target = e.target;
|
|
50
|
+
var sIndex = nodeMap[source];
|
|
51
|
+
var tIndex = nodeMap[target];
|
|
52
|
+
if (sIndex === undefined || tIndex === undefined)
|
|
53
|
+
return;
|
|
54
|
+
matrix[sIndex][tIndex] = 1;
|
|
55
|
+
if (!directed) {
|
|
56
|
+
matrix[tIndex][sIndex] = 1;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return matrix;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* scale matrix
|
|
63
|
+
* @param matrix [ [], [], [] ]
|
|
64
|
+
* @param ratio
|
|
65
|
+
*/
|
|
66
|
+
export var scaleMatrix = function (matrix, ratio) {
|
|
67
|
+
var result = [];
|
|
68
|
+
matrix.forEach(function (row) {
|
|
69
|
+
var newRow = [];
|
|
70
|
+
row.forEach(function (v) {
|
|
71
|
+
newRow.push(v * ratio);
|
|
72
|
+
});
|
|
73
|
+
result.push(newRow);
|
|
74
|
+
});
|
|
75
|
+
return result;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* depth first traverse, from leaves to root, children in inverse order
|
|
79
|
+
* if the fn returns false, terminate the traverse
|
|
80
|
+
*/
|
|
81
|
+
var traverseUp = function (data, fn) {
|
|
82
|
+
if (data && data.children) {
|
|
83
|
+
for (var i = data.children.length - 1; i >= 0; i--) {
|
|
84
|
+
if (!traverseUp(data.children[i], fn))
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (!fn(data)) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* depth first traverse, from leaves to root, children in inverse order
|
|
95
|
+
* if the fn returns false, terminate the traverse
|
|
96
|
+
*/
|
|
97
|
+
export var traverseTreeUp = function (data, fn) {
|
|
98
|
+
if (typeof fn !== 'function') {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
traverseUp(data, fn);
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* calculate the bounding box for the nodes according to their x, y, and size
|
|
105
|
+
* @param nodes nodes in the layout
|
|
106
|
+
* @returns
|
|
107
|
+
*/
|
|
108
|
+
export var getLayoutBBox = function (nodes) {
|
|
109
|
+
var minX = Infinity;
|
|
110
|
+
var minY = Infinity;
|
|
111
|
+
var maxX = -Infinity;
|
|
112
|
+
var maxY = -Infinity;
|
|
113
|
+
nodes.forEach(function (node) {
|
|
114
|
+
var size = node.data.size;
|
|
115
|
+
if (isArray(size)) {
|
|
116
|
+
if (size.length === 1)
|
|
117
|
+
size = [size[0], size[0]];
|
|
118
|
+
}
|
|
119
|
+
else if (isNumber(size)) {
|
|
120
|
+
size = [size, size];
|
|
121
|
+
}
|
|
122
|
+
else if (size === undefined || isNaN(size)) {
|
|
123
|
+
size = [30, 30];
|
|
124
|
+
}
|
|
125
|
+
var halfSize = [size[0] / 2, size[1] / 2];
|
|
126
|
+
var left = node.data.x - halfSize[0];
|
|
127
|
+
var right = node.data.x + halfSize[0];
|
|
128
|
+
var top = node.data.y - halfSize[1];
|
|
129
|
+
var bottom = node.data.y + halfSize[1];
|
|
130
|
+
if (minX > left)
|
|
131
|
+
minX = left;
|
|
132
|
+
if (minY > top)
|
|
133
|
+
minY = top;
|
|
134
|
+
if (maxX < right)
|
|
135
|
+
maxX = right;
|
|
136
|
+
if (maxY < bottom)
|
|
137
|
+
maxY = bottom;
|
|
138
|
+
});
|
|
139
|
+
return { minX: minX, minY: minY, maxX: maxX, maxY: maxY };
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* 获取节点集合的平均位置信息
|
|
143
|
+
* @param nodes 节点集合
|
|
144
|
+
* @returns 平局内置
|
|
145
|
+
*/
|
|
146
|
+
export var getAvgNodePosition = function (nodes) {
|
|
147
|
+
var totalNodes = { x: 0, y: 0 };
|
|
148
|
+
nodes.forEach(function (node) {
|
|
149
|
+
totalNodes.x += node.data.x || 0;
|
|
150
|
+
totalNodes.y += node.data.y || 0;
|
|
151
|
+
});
|
|
152
|
+
// 获取均值向量
|
|
153
|
+
var length = nodes.length || 1;
|
|
154
|
+
return {
|
|
155
|
+
x: totalNodes.x / length,
|
|
156
|
+
y: totalNodes.y / length,
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
// 找出指定节点关联的边的起点或终点
|
|
160
|
+
var getCoreNode = function (type, node, edges) {
|
|
161
|
+
var _a, _b;
|
|
162
|
+
if (type === 'source') {
|
|
163
|
+
return (((_a = edges === null || edges === void 0 ? void 0 : edges.find(function (edge) { return edge.target === node.id; })) === null || _a === void 0 ? void 0 : _a.source) ||
|
|
164
|
+
{});
|
|
165
|
+
}
|
|
166
|
+
return (((_b = edges === null || edges === void 0 ? void 0 : edges.find(function (edge) { return edge.source === node.id; })) === null || _b === void 0 ? void 0 : _b.target) || {});
|
|
167
|
+
};
|
|
168
|
+
// 找出指定节点为起点或终点的所有一度叶子节点
|
|
169
|
+
var getRelativeNodeIds = function (type, coreNode, edges) {
|
|
170
|
+
var relativeNodes = [];
|
|
171
|
+
switch (type) {
|
|
172
|
+
case 'source':
|
|
173
|
+
relativeNodes = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.source === coreNode.id; }).map(function (edge) { return edge.target; });
|
|
174
|
+
break;
|
|
175
|
+
case 'target':
|
|
176
|
+
relativeNodes = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.target === coreNode.id; }).map(function (edge) { return edge.source; });
|
|
177
|
+
break;
|
|
178
|
+
case 'both':
|
|
179
|
+
relativeNodes = edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.source === coreNode.id; }).map(function (edge) { return edge.target; }).concat(edges === null || edges === void 0 ? void 0 : edges.filter(function (edge) { return edge.target === coreNode.id; }).map(function (edge) { return edge.source; }));
|
|
180
|
+
break;
|
|
181
|
+
default:
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
// 去重
|
|
185
|
+
var set = new Set(relativeNodes);
|
|
186
|
+
return Array.from(set);
|
|
187
|
+
};
|
|
188
|
+
// 找出同类型的节点
|
|
189
|
+
var getSameTypeNodes = function (type, nodeClusterBy, node, relativeNodes, degreesMap) {
|
|
190
|
+
var typeName = node[nodeClusterBy] || '';
|
|
191
|
+
var sameTypeNodes = (relativeNodes === null || relativeNodes === void 0 ? void 0 : relativeNodes.filter(function (item) { return item[nodeClusterBy] === typeName; })) || [];
|
|
192
|
+
if (type === 'leaf') {
|
|
193
|
+
sameTypeNodes = sameTypeNodes.filter(function (node) { var _a, _b; return ((_a = degreesMap[node.id]) === null || _a === void 0 ? void 0 : _a.in) === 0 || ((_b = degreesMap[node.id]) === null || _b === void 0 ? void 0 : _b.out) === 0; });
|
|
194
|
+
}
|
|
195
|
+
return sameTypeNodes;
|
|
196
|
+
};
|
|
197
|
+
// 找出与指定节点关联的边的起点或终点出发的所有一度叶子节点
|
|
198
|
+
export var getCoreNodeAndRelativeLeafNodes = function (type, node, edges, nodeClusterBy, degreesMap, nodeMap) {
|
|
199
|
+
var _a = degreesMap[node.id], inDegree = _a.in, outDegree = _a.out;
|
|
200
|
+
var coreNode = node;
|
|
201
|
+
var relativeLeafNodes = [];
|
|
202
|
+
if (inDegree === 0) {
|
|
203
|
+
// 如果为没有出边的叶子节点,则找出与它关联的边的起点出发的所有一度节点
|
|
204
|
+
coreNode = getCoreNode('source', node, edges);
|
|
205
|
+
relativeLeafNodes = getRelativeNodeIds('both', coreNode, edges).map(function (nodeId) { return nodeMap[nodeId]; });
|
|
206
|
+
}
|
|
207
|
+
else if (outDegree === 0) {
|
|
208
|
+
// 如果为没有入边边的叶子节点,则找出与它关联的边的起点出发的所有一度节点
|
|
209
|
+
coreNode = getCoreNode('target', node, edges);
|
|
210
|
+
relativeLeafNodes = getRelativeNodeIds('both', coreNode, edges).map(function (nodeId) { return nodeMap[nodeId]; });
|
|
211
|
+
}
|
|
212
|
+
relativeLeafNodes = relativeLeafNodes.filter(function (node) {
|
|
213
|
+
return degreesMap[node.id] &&
|
|
214
|
+
(degreesMap[node.id].in === 0 || degreesMap[node.id].out === 0);
|
|
215
|
+
});
|
|
216
|
+
var sameTypeLeafNodes = getSameTypeNodes(type, nodeClusterBy, node, relativeLeafNodes, degreesMap);
|
|
217
|
+
return { coreNode: coreNode, relativeLeafNodes: relativeLeafNodes, sameTypeLeafNodes: sameTypeLeafNodes };
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* calculate the euclidean distance form p1 to p2
|
|
221
|
+
* @param p1
|
|
222
|
+
* @param p2
|
|
223
|
+
* @returns
|
|
224
|
+
*/
|
|
225
|
+
export var getEuclideanDistance = function (p1, p2) {
|
|
226
|
+
return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* Depth first search begin from nodes in graphCore data.
|
|
230
|
+
* @param graphCore graphlib data structure
|
|
231
|
+
* @param nodes begin nodes
|
|
232
|
+
* @param fn will be called while visiting each node
|
|
233
|
+
* @param mode 'TB' - visit from top to bottom; 'BT' - visit from bottom to top;
|
|
234
|
+
* @returns
|
|
235
|
+
*/
|
|
236
|
+
export var graphTreeDfs = function (graph, nodes, fn, mode, treeKey, stopFns) {
|
|
237
|
+
if (mode === void 0) { mode = 'TB'; }
|
|
238
|
+
if (stopFns === void 0) { stopFns = {}; }
|
|
239
|
+
if (!(nodes === null || nodes === void 0 ? void 0 : nodes.length))
|
|
240
|
+
return;
|
|
241
|
+
var stopBranchFn = stopFns.stopBranchFn, stopAllFn = stopFns.stopAllFn;
|
|
242
|
+
for (var i = 0; i < nodes.length; i++) {
|
|
243
|
+
var node = nodes[i];
|
|
244
|
+
if (!graph.hasNode(node.id))
|
|
245
|
+
continue;
|
|
246
|
+
if (stopBranchFn === null || stopBranchFn === void 0 ? void 0 : stopBranchFn(node))
|
|
247
|
+
continue; // Stop this branch
|
|
248
|
+
if (stopAllFn === null || stopAllFn === void 0 ? void 0 : stopAllFn(node))
|
|
249
|
+
return; // Stop all
|
|
250
|
+
if (mode === 'TB')
|
|
251
|
+
fn(node); // Traverse from top to bottom
|
|
252
|
+
graphTreeDfs(graph, graph.getChildren(node.id, treeKey), fn, mode, treeKey, stopFns);
|
|
253
|
+
if (mode !== 'TB')
|
|
254
|
+
fn(node); // Traverse from bottom to top
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/util/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/util/number.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,GAAQ;IAC/B,IAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isNumber } from "@antv/util";
|
|
2
|
+
export var clone = function (target) {
|
|
3
|
+
if (target === null) {
|
|
4
|
+
return target;
|
|
5
|
+
}
|
|
6
|
+
if (target instanceof Date) {
|
|
7
|
+
return new Date(target.getTime());
|
|
8
|
+
}
|
|
9
|
+
if (target instanceof Array) {
|
|
10
|
+
var cp_1 = [];
|
|
11
|
+
target.forEach(function (v) {
|
|
12
|
+
cp_1.push(v);
|
|
13
|
+
});
|
|
14
|
+
return cp_1.map(function (n) { return clone(n); });
|
|
15
|
+
}
|
|
16
|
+
if (typeof target === "object") {
|
|
17
|
+
var cp_2 = {};
|
|
18
|
+
Object.keys(target).forEach(function (k) {
|
|
19
|
+
cp_2[k] = clone(target[k]);
|
|
20
|
+
});
|
|
21
|
+
return cp_2;
|
|
22
|
+
}
|
|
23
|
+
return target;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Clone node or edge data and format it
|
|
27
|
+
* @param target node/edge to be cloned
|
|
28
|
+
* @param initRange whether init the x and y in data with the range, which means [xRange, yRange]
|
|
29
|
+
* @returns cloned node/edge
|
|
30
|
+
*/
|
|
31
|
+
export var cloneFormatData = function (target, initRange) {
|
|
32
|
+
var cloned = clone(target);
|
|
33
|
+
cloned.data = cloned.data || {};
|
|
34
|
+
if (initRange) {
|
|
35
|
+
if (!isNumber(cloned.data.x))
|
|
36
|
+
cloned.data.x = Math.random() * initRange[0];
|
|
37
|
+
if (!isNumber(cloned.data.y))
|
|
38
|
+
cloned.data.y = Math.random() * initRange[1];
|
|
39
|
+
}
|
|
40
|
+
return cloned;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/util/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,CAAC,IAAM,KAAK,GAAG,UAAI,MAAS;IAChC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,MAAM,CAAC;KACf;IACD,IAAI,MAAM,YAAY,IAAI,EAAE;QAC1B,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAQ,CAAC;KAC1C;IACD,IAAI,MAAM,YAAY,KAAK,EAAE;QAC3B,IAAM,IAAE,GAAG,EAAW,CAAC;QACtB,MAAgB,CAAC,OAAO,CAAC,UAAC,CAAC;YAC1B,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO,IAAE,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,KAAK,CAAM,CAAC,CAAC,EAAb,CAAa,CAAQ,CAAC;KACjD;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,IAAM,IAAE,GAAG,EAA4B,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;YAC5B,IAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAO,MAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,OAAO,IAAO,CAAC;KAChB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,MAAS,EACT,SAA4B;IAE5B,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAChC,IAAI,SAAS,EAAE;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;KAC5E;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var cacheStringFunction = function (fn) {
|
|
2
|
+
var cache = Object.create(null);
|
|
3
|
+
return (function (str) {
|
|
4
|
+
var hit = cache[str];
|
|
5
|
+
return hit || (cache[str] = fn(str));
|
|
6
|
+
});
|
|
7
|
+
};
|
|
8
|
+
var camelizeRE = /-(\w)/g;
|
|
9
|
+
export var camelize = cacheStringFunction(function (str) {
|
|
10
|
+
return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ""); });
|
|
11
|
+
});
|
|
12
|
+
// export const capitalize = cacheStringFunction(
|
|
13
|
+
// (str: string) => str.charAt(0).toUpperCase() + str.slice(1),
|
|
14
|
+
// )
|
|
15
|
+
//# sourceMappingURL=string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":"AAAA,IAAM,mBAAmB,GAAG,UAAoC,EAAK;IACnE,IAAM,KAAK,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,UAAC,GAAW;QAClB,IAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC,CAAQ,CAAC;AACZ,CAAC,CAAC;AAEF,IAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,MAAM,CAAC,IAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAC,GAAW;IACtD,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAA1B,CAA0B,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,iDAAiD;AACjD,iEAAiE;AACjE,IAAI"}
|
package/lib/worker.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/worker.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { Graph } from "@antv/graphlib";
|
|
3
|
+
import * as Comlink from "comlink";
|
|
4
|
+
import { registry } from "./registry";
|
|
5
|
+
import { isLayoutWithIterations } from "./types";
|
|
6
|
+
var currentLayout;
|
|
7
|
+
var obj = {
|
|
8
|
+
stopLayout: function () {
|
|
9
|
+
if (currentLayout === null || currentLayout === void 0 ? void 0 : currentLayout.stop) {
|
|
10
|
+
currentLayout.stop();
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
calculateLayout: function (payload, transferables) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
15
|
+
var _a, id, options, iterations, nodes, edges, graph, layoutCtor, positions;
|
|
16
|
+
return __generator(this, function (_b) {
|
|
17
|
+
switch (_b.label) {
|
|
18
|
+
case 0:
|
|
19
|
+
_a = payload.layout, id = _a.id, options = _a.options, iterations = _a.iterations, nodes = payload.nodes, edges = payload.edges;
|
|
20
|
+
graph = new Graph({
|
|
21
|
+
nodes: nodes,
|
|
22
|
+
edges: edges,
|
|
23
|
+
});
|
|
24
|
+
layoutCtor = registry[id];
|
|
25
|
+
if (layoutCtor) {
|
|
26
|
+
currentLayout = new layoutCtor(options);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error("Unknown layout id: ".concat(id));
|
|
30
|
+
}
|
|
31
|
+
return [4 /*yield*/, currentLayout.execute(graph)];
|
|
32
|
+
case 1:
|
|
33
|
+
positions = _b.sent();
|
|
34
|
+
if (isLayoutWithIterations(currentLayout)) {
|
|
35
|
+
currentLayout.stop();
|
|
36
|
+
positions = currentLayout.tick(iterations);
|
|
37
|
+
}
|
|
38
|
+
return [2 /*return*/, [positions, transferables]];
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
Comlink.expose(obj);
|
|
45
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.js"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD,IAAI,aAAa,CAAC;AAElB,IAAM,GAAG,GAAG;IACV,UAAU;QACR,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,EAAE;YACvB,aAAa,CAAC,IAAI,EAAE,CAAC;SACtB;IACH,CAAC;IACK,eAAe,YAAC,OAAO,EAAE,aAAa;;;;;;wBAExC,KAGE,OAAO,OAH0B,EAAzB,EAAE,QAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA,EACjC,KAAK,GAEH,OAAO,MAFJ,EACL,KAAK,GACH,OAAO,MADJ,CACK;wBAMN,KAAK,GAAG,IAAI,KAAK,CAAC;4BACtB,KAAK,OAAA;4BACL,KAAK,OAAA;yBACN,CAAC,CAAC;wBAMG,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChC,IAAI,UAAU,EAAE;4BACd,aAAa,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;yBACzC;6BAAM;4BACL,MAAM,IAAI,KAAK,CAAC,6BAAsB,EAAE,CAAE,CAAC,CAAC;yBAC7C;wBAEe,qBAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAA;;wBAA9C,SAAS,GAAG,SAAkC;wBAClD,IAAI,sBAAsB,CAAC,aAAa,CAAC,EAAE;4BACzC,aAAa,CAAC,IAAI,EAAE,CAAC;4BACrB,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBAC5C;wBACD,sBAAO,CAAC,SAAS,EAAE,aAAa,CAAC,EAAC;;;;KACnC;CACF,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antv/layout",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.11",
|
|
4
4
|
"description": "graph layout algorithm",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"workerize-loader": "^2.0.2"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
|
-
"clean": "rimraf dist lib",
|
|
54
|
+
"clean": "rimraf dist lib tsconfig.tsbuildinfo",
|
|
55
55
|
"dev": "webpack --config webpack.dev.config.js --mode development",
|
|
56
56
|
"build": "npm run clean && npm run build:esm && npm run build:umd",
|
|
57
57
|
"build:ci": "npm run build",
|