@antv/layout 1.2.14-beta.1 → 1.2.14-beta.3
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/cd2b54bd55e0306c6ba1.worker.js +2 -0
- package/dist/cd2b54bd55e0306c6ba1.worker.js.map +1 -0
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/lib/d3-force/index.d.ts +35 -0
- package/lib/d3-force/index.js +174 -0
- package/lib/d3-force/index.js.map +1 -0
- package/lib/d3-force/types.d.ts +108 -0
- package/lib/d3-force/types.js +2 -0
- package/lib/d3-force/types.js.map +1 -0
- package/lib/d3-force-3d/index.d.ts +25 -0
- package/lib/d3-force-3d/index.js +47 -0
- package/lib/d3-force-3d/index.js.map +1 -0
- package/lib/d3-force-3d/types.d.ts +43 -0
- package/lib/d3-force-3d/types.js +2 -0
- package/lib/d3-force-3d/types.js.map +1 -0
- package/lib/exports.d.ts +4 -1
- package/lib/exports.js +2 -1
- package/lib/exports.js.map +1 -1
- package/lib/registry.js +3 -1
- package/lib/registry.js.map +1 -1
- package/package.json +2 -1
- package/dist/85db61ddc757dae66e04.worker.js +0 -2
- package/dist/85db61ddc757dae66e04.worker.js.map +0 -1
- package/lib/d3Force/forceInBox.d.ts +0 -28
- package/lib/d3Force/forceInBox.js +0 -329
- package/lib/d3Force/forceInBox.js.map +0 -1
- package/lib/d3Force/index.d.ts +0 -57
- package/lib/d3Force/index.js +0 -313
- package/lib/d3Force/index.js.map +0 -1
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
interface INode {
|
|
2
|
-
id: string;
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
vx: number;
|
|
6
|
-
vy: number;
|
|
7
|
-
cluster: any;
|
|
8
|
-
}
|
|
9
|
-
export default function forceInBox(): {
|
|
10
|
-
(alpha: number): any;
|
|
11
|
-
initialize(_: any): void;
|
|
12
|
-
template: (x: any) => string | any;
|
|
13
|
-
groupBy: (x: any) => any | ((d: INode) => any);
|
|
14
|
-
enableGrouping: (x: any) => boolean | any;
|
|
15
|
-
strength: (x: any) => number | any;
|
|
16
|
-
centerX: (_: any) => number | any;
|
|
17
|
-
centerY: (_: any) => number | any;
|
|
18
|
-
nodes: (_: any) => any | INode[];
|
|
19
|
-
links: (_: any) => any[] | any;
|
|
20
|
-
forceNodeSize: (_: any) => any | ((d: any) => number);
|
|
21
|
-
nodeSize: (_: any) => any | ((d: any) => number);
|
|
22
|
-
forceCharge: (_: any) => any | ((d: any) => number);
|
|
23
|
-
forceLinkDistance: (_: any) => any | ((d: any) => number);
|
|
24
|
-
forceLinkStrength: (_: any) => any | ((d: any) => number);
|
|
25
|
-
offset: (_: any) => number[] | any;
|
|
26
|
-
getFocis: () => any;
|
|
27
|
-
};
|
|
28
|
-
export {};
|
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
import * as d3Force from 'd3-force';
|
|
2
|
-
// https://github.com/john-guerra/forceInABox/blob/master/src/forceInABox.js
|
|
3
|
-
export default function forceInBox() {
|
|
4
|
-
function constant(_) {
|
|
5
|
-
return () => _;
|
|
6
|
-
}
|
|
7
|
-
let groupBy = (d) => {
|
|
8
|
-
return d.cluster;
|
|
9
|
-
};
|
|
10
|
-
let forceNodeSize = constant(1);
|
|
11
|
-
let forceCharge = constant(-1);
|
|
12
|
-
let forceLinkDistance = constant(100);
|
|
13
|
-
let forceLinkStrength = constant(0.1);
|
|
14
|
-
let offset = [0, 0];
|
|
15
|
-
let nodes = [];
|
|
16
|
-
let nodesMap = {};
|
|
17
|
-
let links = [];
|
|
18
|
-
let centerX = 100;
|
|
19
|
-
let centerY = 100;
|
|
20
|
-
let foci = {
|
|
21
|
-
none: {
|
|
22
|
-
x: 0,
|
|
23
|
-
y: 0,
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
let templateNodes = [];
|
|
27
|
-
let templateForce;
|
|
28
|
-
let template = 'force';
|
|
29
|
-
let enableGrouping = true;
|
|
30
|
-
let strength = 0.1;
|
|
31
|
-
function force(alpha) {
|
|
32
|
-
if (!enableGrouping) {
|
|
33
|
-
return force;
|
|
34
|
-
}
|
|
35
|
-
templateForce.tick();
|
|
36
|
-
getFocisFromTemplate();
|
|
37
|
-
for (let i = 0, n = nodes.length, node, k = alpha * strength; i < n; ++i) {
|
|
38
|
-
node = nodes[i];
|
|
39
|
-
node.vx += (foci[groupBy(node)].x - node.x) * k;
|
|
40
|
-
node.vy += (foci[groupBy(node)].y - node.y) * k;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function initialize() {
|
|
44
|
-
if (!nodes)
|
|
45
|
-
return;
|
|
46
|
-
initializeWithForce();
|
|
47
|
-
}
|
|
48
|
-
function initializeWithForce() {
|
|
49
|
-
if (!nodes || !nodes.length) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (groupBy(nodes[0]) === undefined) {
|
|
53
|
-
throw Error("Couldnt find the grouping attribute for the nodes. Make sure to set it up with forceInBox.groupBy('clusterAttr') before calling .links()");
|
|
54
|
-
}
|
|
55
|
-
// checkLinksAsObjects();
|
|
56
|
-
const net = getGroupsGraph();
|
|
57
|
-
templateForce = d3Force
|
|
58
|
-
.forceSimulation(net.nodes)
|
|
59
|
-
.force('x', d3Force.forceX(centerX).strength(0.1))
|
|
60
|
-
.force('y', d3Force.forceY(centerY).strength(0.1))
|
|
61
|
-
.force('collide', d3Force.forceCollide((d) => d.r).iterations(4))
|
|
62
|
-
.force('charge', d3Force.forceManyBody().strength(forceCharge))
|
|
63
|
-
.force('links', d3Force
|
|
64
|
-
.forceLink(net.nodes.length ? net.links : [])
|
|
65
|
-
.distance(forceLinkDistance)
|
|
66
|
-
.strength(forceLinkStrength));
|
|
67
|
-
templateNodes = templateForce.nodes();
|
|
68
|
-
getFocisFromTemplate();
|
|
69
|
-
}
|
|
70
|
-
function getGroupsGraph() {
|
|
71
|
-
const gnodes = [];
|
|
72
|
-
const glinks = [];
|
|
73
|
-
const dNodes = {};
|
|
74
|
-
let clustersList = [];
|
|
75
|
-
let clustersCounts = {};
|
|
76
|
-
let clustersLinks = [];
|
|
77
|
-
clustersCounts = computeClustersNodeCounts(nodes);
|
|
78
|
-
clustersLinks = computeClustersLinkCounts(links);
|
|
79
|
-
clustersList = Object.keys(clustersCounts);
|
|
80
|
-
clustersList.forEach((key, index) => {
|
|
81
|
-
const val = clustersCounts[key];
|
|
82
|
-
// Uses approx meta-node size
|
|
83
|
-
gnodes.push({
|
|
84
|
-
id: key,
|
|
85
|
-
size: val.count,
|
|
86
|
-
r: Math.sqrt(val.sumforceNodeSize / Math.PI),
|
|
87
|
-
});
|
|
88
|
-
dNodes[key] = index;
|
|
89
|
-
});
|
|
90
|
-
clustersLinks.forEach((link) => {
|
|
91
|
-
const sourceTerminal = link.source;
|
|
92
|
-
const targetTerminal = link.target;
|
|
93
|
-
const source = dNodes[sourceTerminal];
|
|
94
|
-
const target = dNodes[targetTerminal];
|
|
95
|
-
if (source !== undefined && target !== undefined) {
|
|
96
|
-
glinks.push({
|
|
97
|
-
source,
|
|
98
|
-
target,
|
|
99
|
-
count: link.count,
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
return {
|
|
104
|
-
nodes: gnodes,
|
|
105
|
-
links: glinks,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
function computeClustersNodeCounts(nodes) {
|
|
109
|
-
const clustersCounts = {};
|
|
110
|
-
nodes.forEach((d) => {
|
|
111
|
-
const key = groupBy(d);
|
|
112
|
-
if (!clustersCounts[key]) {
|
|
113
|
-
clustersCounts[key] = {
|
|
114
|
-
count: 0,
|
|
115
|
-
sumforceNodeSize: 0,
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
nodes.forEach((d) => {
|
|
120
|
-
const key = groupBy(d);
|
|
121
|
-
const nodeSize = forceNodeSize(d);
|
|
122
|
-
const tmpCount = clustersCounts[key];
|
|
123
|
-
tmpCount.count = tmpCount.count + 1;
|
|
124
|
-
tmpCount.sumforceNodeSize =
|
|
125
|
-
tmpCount.sumforceNodeSize + Math.PI * (nodeSize * nodeSize) * 1.3;
|
|
126
|
-
clustersCounts[key] = tmpCount;
|
|
127
|
-
});
|
|
128
|
-
return clustersCounts;
|
|
129
|
-
}
|
|
130
|
-
function computeClustersLinkCounts(links) {
|
|
131
|
-
const dClusterLinks = {};
|
|
132
|
-
const clusterLinks = [];
|
|
133
|
-
links.forEach((l) => {
|
|
134
|
-
const key = getLinkKey(l);
|
|
135
|
-
let count = 0;
|
|
136
|
-
if (dClusterLinks[key] !== undefined) {
|
|
137
|
-
count = dClusterLinks[key];
|
|
138
|
-
}
|
|
139
|
-
count += 1;
|
|
140
|
-
dClusterLinks[key] = count;
|
|
141
|
-
});
|
|
142
|
-
// @ts-ignore
|
|
143
|
-
const entries = Object.entries(dClusterLinks);
|
|
144
|
-
entries.forEach(([key, count]) => {
|
|
145
|
-
const source = key.split('~')[0];
|
|
146
|
-
const target = key.split('~')[1];
|
|
147
|
-
if (source !== undefined && target !== undefined) {
|
|
148
|
-
clusterLinks.push({
|
|
149
|
-
source,
|
|
150
|
-
target,
|
|
151
|
-
count,
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
return clusterLinks;
|
|
156
|
-
}
|
|
157
|
-
function getFocisFromTemplate() {
|
|
158
|
-
foci = {
|
|
159
|
-
none: {
|
|
160
|
-
x: 0,
|
|
161
|
-
y: 0,
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
templateNodes.forEach((d) => {
|
|
165
|
-
foci[d.id] = {
|
|
166
|
-
x: d.x - offset[0],
|
|
167
|
-
y: d.y - offset[1],
|
|
168
|
-
};
|
|
169
|
-
});
|
|
170
|
-
return foci;
|
|
171
|
-
}
|
|
172
|
-
function getLinkKey(link) {
|
|
173
|
-
const source = link.source;
|
|
174
|
-
const target = link.target;
|
|
175
|
-
const sourceID = groupBy(nodesMap[source]);
|
|
176
|
-
const targetID = groupBy(nodesMap[target]);
|
|
177
|
-
return sourceID <= targetID
|
|
178
|
-
? `${sourceID}~${targetID}`
|
|
179
|
-
: `${targetID}~${sourceID}`;
|
|
180
|
-
}
|
|
181
|
-
function genNodesMap(nodes) {
|
|
182
|
-
nodesMap = {};
|
|
183
|
-
nodes.forEach((node) => {
|
|
184
|
-
nodesMap[node.id] = node;
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
function setTemplate(x) {
|
|
188
|
-
if (!arguments.length)
|
|
189
|
-
return template;
|
|
190
|
-
template = x;
|
|
191
|
-
initialize();
|
|
192
|
-
return force;
|
|
193
|
-
}
|
|
194
|
-
function setGroupBy(x) {
|
|
195
|
-
if (!arguments.length)
|
|
196
|
-
return groupBy;
|
|
197
|
-
if (typeof x === 'string') {
|
|
198
|
-
groupBy = (d) => {
|
|
199
|
-
return d[x];
|
|
200
|
-
};
|
|
201
|
-
return force;
|
|
202
|
-
}
|
|
203
|
-
groupBy = x;
|
|
204
|
-
return force;
|
|
205
|
-
}
|
|
206
|
-
function setEnableGrouping(x) {
|
|
207
|
-
if (!arguments.length)
|
|
208
|
-
return enableGrouping;
|
|
209
|
-
enableGrouping = x;
|
|
210
|
-
return force;
|
|
211
|
-
}
|
|
212
|
-
function setStrength(x) {
|
|
213
|
-
if (!arguments.length)
|
|
214
|
-
return strength;
|
|
215
|
-
strength = x;
|
|
216
|
-
return force;
|
|
217
|
-
}
|
|
218
|
-
function setCenterX(_) {
|
|
219
|
-
if (arguments.length) {
|
|
220
|
-
centerX = _;
|
|
221
|
-
return force;
|
|
222
|
-
}
|
|
223
|
-
return centerX;
|
|
224
|
-
}
|
|
225
|
-
function setCenterY(_) {
|
|
226
|
-
if (arguments.length) {
|
|
227
|
-
centerY = _;
|
|
228
|
-
return force;
|
|
229
|
-
}
|
|
230
|
-
return centerY;
|
|
231
|
-
}
|
|
232
|
-
function setNodes(_) {
|
|
233
|
-
if (arguments.length) {
|
|
234
|
-
genNodesMap(_ || []);
|
|
235
|
-
nodes = _ || [];
|
|
236
|
-
return force;
|
|
237
|
-
}
|
|
238
|
-
return nodes;
|
|
239
|
-
}
|
|
240
|
-
function setLinks(_) {
|
|
241
|
-
if (arguments.length) {
|
|
242
|
-
links = _ || [];
|
|
243
|
-
initialize();
|
|
244
|
-
return force;
|
|
245
|
-
}
|
|
246
|
-
return links;
|
|
247
|
-
}
|
|
248
|
-
function setForceNodeSize(_) {
|
|
249
|
-
if (arguments.length) {
|
|
250
|
-
if (typeof _ === 'function') {
|
|
251
|
-
forceNodeSize = _;
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
forceNodeSize = constant(+_);
|
|
255
|
-
}
|
|
256
|
-
initialize();
|
|
257
|
-
return force;
|
|
258
|
-
}
|
|
259
|
-
return forceNodeSize;
|
|
260
|
-
}
|
|
261
|
-
function setForceCharge(_) {
|
|
262
|
-
if (arguments.length) {
|
|
263
|
-
if (typeof _ === 'function') {
|
|
264
|
-
forceCharge = _;
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
forceCharge = constant(+_);
|
|
268
|
-
}
|
|
269
|
-
initialize();
|
|
270
|
-
return force;
|
|
271
|
-
}
|
|
272
|
-
return forceCharge;
|
|
273
|
-
}
|
|
274
|
-
function setForceLinkDistance(_) {
|
|
275
|
-
if (arguments.length) {
|
|
276
|
-
if (typeof _ === 'function') {
|
|
277
|
-
forceLinkDistance = _;
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
forceLinkDistance = constant(+_);
|
|
281
|
-
}
|
|
282
|
-
initialize();
|
|
283
|
-
return force;
|
|
284
|
-
}
|
|
285
|
-
return forceLinkDistance;
|
|
286
|
-
}
|
|
287
|
-
function setForceLinkStrength(_) {
|
|
288
|
-
if (arguments.length) {
|
|
289
|
-
if (typeof _ === 'function') {
|
|
290
|
-
forceLinkStrength = _;
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
forceLinkStrength = constant(+_);
|
|
294
|
-
}
|
|
295
|
-
initialize();
|
|
296
|
-
return force;
|
|
297
|
-
}
|
|
298
|
-
return forceLinkStrength;
|
|
299
|
-
}
|
|
300
|
-
function setOffset(_) {
|
|
301
|
-
if (arguments.length) {
|
|
302
|
-
offset = _;
|
|
303
|
-
return force;
|
|
304
|
-
}
|
|
305
|
-
return offset;
|
|
306
|
-
}
|
|
307
|
-
force.initialize = (_) => {
|
|
308
|
-
nodes = _;
|
|
309
|
-
initialize();
|
|
310
|
-
};
|
|
311
|
-
force.template = setTemplate;
|
|
312
|
-
force.groupBy = setGroupBy;
|
|
313
|
-
force.enableGrouping = setEnableGrouping;
|
|
314
|
-
force.strength = setStrength;
|
|
315
|
-
force.centerX = setCenterX;
|
|
316
|
-
force.centerY = setCenterY;
|
|
317
|
-
force.nodes = setNodes;
|
|
318
|
-
force.links = setLinks;
|
|
319
|
-
force.forceNodeSize = setForceNodeSize;
|
|
320
|
-
// Legacy support
|
|
321
|
-
force.nodeSize = force.forceNodeSize;
|
|
322
|
-
force.forceCharge = setForceCharge;
|
|
323
|
-
force.forceLinkDistance = setForceLinkDistance;
|
|
324
|
-
force.forceLinkStrength = setForceLinkStrength;
|
|
325
|
-
force.offset = setOffset;
|
|
326
|
-
force.getFocis = getFocisFromTemplate;
|
|
327
|
-
return force;
|
|
328
|
-
}
|
|
329
|
-
//# sourceMappingURL=forceInBox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forceInBox.js","sourceRoot":"","sources":["../../src/d3Force/forceInBox.ts"],"names":[],"mappings":"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"}
|
package/lib/d3Force/index.d.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import * as d3Force from 'd3-force';
|
|
2
|
-
import type { D3ForceLayoutOptions, Edge, Graph, LayoutMapping, LayoutWithIterations, Node, OutNode } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Layout the nodes' positions with d3's basic classic force
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* // Assign layout options when initialization.
|
|
8
|
-
* const layout = new D3ForceLayout({ center: [100, 100] });
|
|
9
|
-
* const positions = await layout.execute(graph); // { nodes: [], edges: [] }
|
|
10
|
-
*
|
|
11
|
-
* // Or use different options later.
|
|
12
|
-
* const layout = new D3ForceLayout({ center: [100, 100] });
|
|
13
|
-
* const positions = await layout.execute(graph, { center: [100, 100] }); // { nodes: [], edges: [] }
|
|
14
|
-
*
|
|
15
|
-
* // If you want to assign the positions directly to the nodes, use assign method.
|
|
16
|
-
* await layout.assign(graph, { center: [100, 100] });
|
|
17
|
-
*/
|
|
18
|
-
export declare class D3ForceLayout implements LayoutWithIterations<D3ForceLayoutOptions> {
|
|
19
|
-
options: D3ForceLayoutOptions;
|
|
20
|
-
id: string;
|
|
21
|
-
private forceSimulation;
|
|
22
|
-
private lastLayoutNodes;
|
|
23
|
-
private lastLayoutEdges;
|
|
24
|
-
private lastAssign;
|
|
25
|
-
private lastGraph;
|
|
26
|
-
constructor(options?: D3ForceLayoutOptions);
|
|
27
|
-
/**
|
|
28
|
-
* Return the positions of nodes and edges(if needed).
|
|
29
|
-
*/
|
|
30
|
-
execute(graph: Graph, options?: D3ForceLayoutOptions): Promise<LayoutMapping>;
|
|
31
|
-
/**
|
|
32
|
-
* To directly assign the positions to the nodes.
|
|
33
|
-
*/
|
|
34
|
-
assign(graph: Graph, options?: D3ForceLayoutOptions): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Stop simulation immediately.
|
|
37
|
-
*/
|
|
38
|
-
stop(): void;
|
|
39
|
-
/**
|
|
40
|
-
* Manually steps the simulation by the specified number of iterations.
|
|
41
|
-
* @see https://github.com/d3/d3-force#simulation_tick
|
|
42
|
-
*/
|
|
43
|
-
tick(iterations?: number): {
|
|
44
|
-
nodes: OutNode[];
|
|
45
|
-
edges: Edge[];
|
|
46
|
-
};
|
|
47
|
-
private genericForceLayout;
|
|
48
|
-
/**
|
|
49
|
-
* Prevent overlappings.
|
|
50
|
-
* @param {object} simulation force simulation of d3
|
|
51
|
-
*/
|
|
52
|
-
overlapProcess(simulation: d3Force.Simulation<any, any>, options: {
|
|
53
|
-
nodeSize: number | number[] | ((d?: Node) => number) | undefined;
|
|
54
|
-
nodeSpacing: number | number[] | ((d?: Node) => number) | undefined;
|
|
55
|
-
collideStrength: number;
|
|
56
|
-
}): void;
|
|
57
|
-
}
|