@antv/layout 1.2.14-beta.2 → 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/{62953f7fd7012203b024.worker.js → cd2b54bd55e0306c6ba1.worker.js} +2 -2
- 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 +3 -1
- package/lib/d3-force/index.js +21 -9
- package/lib/d3-force/index.js.map +1 -1
- package/lib/d3-force/types.d.ts +19 -19
- package/lib/d3-force-3d/types.d.ts +7 -8
- package/package.json +1 -1
- package/dist/62953f7fd7012203b024.worker.js.map +0 -1
package/lib/d3-force/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { ID } from '@antv/graphlib';
|
|
1
2
|
import type { Simulation } from 'd3-force';
|
|
2
3
|
import type { Graph, LayoutMapping, LayoutWithIterations } from '../types';
|
|
3
4
|
import type { D3ForceLayoutOptions, EdgeDatum, NodeDatum } from './types';
|
|
4
5
|
export declare class D3ForceLayout<T extends D3ForceLayoutOptions = D3ForceLayoutOptions> implements LayoutWithIterations<T> {
|
|
5
6
|
id: string;
|
|
6
|
-
|
|
7
|
+
simulation: Simulation<NodeDatum, EdgeDatum>;
|
|
7
8
|
protected resolver: (value: LayoutMapping) => void;
|
|
8
9
|
protected config: {
|
|
9
10
|
inputNodeAttrs: string[];
|
|
@@ -25,6 +26,7 @@ export declare class D3ForceLayout<T extends D3ForceLayoutOptions = D3ForceLayou
|
|
|
25
26
|
stop(): void;
|
|
26
27
|
tick(iterations?: number): LayoutMapping;
|
|
27
28
|
restart(): void;
|
|
29
|
+
setFixedPosition(id: ID, position: (number | null)[]): void;
|
|
28
30
|
protected getOptions(options: Partial<T>): T;
|
|
29
31
|
protected genericLayout(assign: boolean, graph: Graph, options?: T): Promise<LayoutMapping>;
|
|
30
32
|
protected getResult(): LayoutMapping;
|
package/lib/d3-force/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { __awaiter
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
2
|
import { deepMix, pick } from '@antv/util';
|
|
3
3
|
import { forceCenter, forceCollide, forceLink, forceManyBody, forceRadial, forceSimulation, forceX, forceY, } from 'd3-force';
|
|
4
4
|
export class D3ForceLayout {
|
|
5
|
-
constructor(options
|
|
5
|
+
constructor(options) {
|
|
6
6
|
this.id = 'd3-force';
|
|
7
7
|
this.config = {
|
|
8
8
|
inputNodeAttrs: ['x', 'y', 'vx', 'vy', 'fx', 'fy'],
|
|
@@ -42,10 +42,10 @@ export class D3ForceLayout {
|
|
|
42
42
|
nodes: [],
|
|
43
43
|
edges: [],
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
deepMix(this.options, options);
|
|
46
|
+
if (this.options.forceSimulation) {
|
|
47
|
+
this.simulation = this.options.forceSimulation;
|
|
48
|
+
}
|
|
49
49
|
}
|
|
50
50
|
execute(graph, options) {
|
|
51
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -67,12 +67,24 @@ export class D3ForceLayout {
|
|
|
67
67
|
restart() {
|
|
68
68
|
this.simulation.restart();
|
|
69
69
|
}
|
|
70
|
+
setFixedPosition(id, position) {
|
|
71
|
+
const node = this.context.nodes.find((n) => n.id === id);
|
|
72
|
+
if (!node)
|
|
73
|
+
return;
|
|
74
|
+
position.forEach((value, index) => {
|
|
75
|
+
if (typeof value === 'number' || value === null) {
|
|
76
|
+
const key = ['fx', 'fy', 'fz'][index];
|
|
77
|
+
node[key] = value;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
70
81
|
getOptions(options) {
|
|
71
82
|
var _a, _b;
|
|
72
|
-
const _ =
|
|
83
|
+
const _ = deepMix({}, this.options, options);
|
|
73
84
|
// process nodeSize
|
|
74
|
-
if (((_a = _.collide) === null || _a === void 0 ? void 0 : _a.radius) === undefined) {
|
|
85
|
+
if (_.collide && ((_a = _.collide) === null || _a === void 0 ? void 0 : _a.radius) === undefined) {
|
|
75
86
|
_.collide = _.collide || {};
|
|
87
|
+
// @ts-ignore
|
|
76
88
|
_.collide.radius = (_b = _.nodeSize) !== null && _b !== void 0 ? _b : 10;
|
|
77
89
|
}
|
|
78
90
|
// process iterations
|
|
@@ -138,7 +150,7 @@ export class D3ForceLayout {
|
|
|
138
150
|
]));
|
|
139
151
|
Object.entries(this.forceMap).forEach(([name, Ctor]) => {
|
|
140
152
|
const forceName = name;
|
|
141
|
-
if (name
|
|
153
|
+
if (options[name]) {
|
|
142
154
|
let force = simulation.force(forceName);
|
|
143
155
|
if (!force) {
|
|
144
156
|
force = Ctor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/d3-force/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/d3-force/index.ts"],"names":[],"mappings":"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"}
|
package/lib/d3-force/types.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface D3ForceLayoutOptions {
|
|
|
6
6
|
*
|
|
7
7
|
* <en/> Node size, default is 10
|
|
8
8
|
*/
|
|
9
|
-
nodeSize?: number | ((node: NodeDatum) => number);
|
|
9
|
+
nodeSize?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
10
10
|
/**
|
|
11
11
|
* <zh/> 每次迭代执行回调
|
|
12
12
|
*
|
|
@@ -35,7 +35,7 @@ export interface D3ForceLayoutOptions {
|
|
|
35
35
|
* <zh/> 中心力
|
|
36
36
|
* <en/> Center force
|
|
37
37
|
*/
|
|
38
|
-
center?: {
|
|
38
|
+
center?: false | {
|
|
39
39
|
x?: number;
|
|
40
40
|
y?: number;
|
|
41
41
|
strength?: number;
|
|
@@ -45,8 +45,8 @@ export interface D3ForceLayoutOptions {
|
|
|
45
45
|
*
|
|
46
46
|
* <en/> Collision force
|
|
47
47
|
*/
|
|
48
|
-
collide?: {
|
|
49
|
-
radius?: number | ((node: NodeDatum) => number);
|
|
48
|
+
collide?: false | {
|
|
49
|
+
radius?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
50
50
|
strength?: number;
|
|
51
51
|
iterations?: number;
|
|
52
52
|
};
|
|
@@ -55,8 +55,8 @@ export interface D3ForceLayoutOptions {
|
|
|
55
55
|
*
|
|
56
56
|
* <en/> Many body force
|
|
57
57
|
*/
|
|
58
|
-
manyBody?: {
|
|
59
|
-
strength?: number;
|
|
58
|
+
manyBody?: false | {
|
|
59
|
+
strength?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
60
60
|
theta?: number;
|
|
61
61
|
distanceMin?: number;
|
|
62
62
|
distanceMax?: number;
|
|
@@ -66,10 +66,10 @@ export interface D3ForceLayoutOptions {
|
|
|
66
66
|
*
|
|
67
67
|
* <en/> Link force
|
|
68
68
|
*/
|
|
69
|
-
link?: {
|
|
70
|
-
id?: (edge: EdgeDatum) => string;
|
|
71
|
-
distance?: number | ((edge: EdgeDatum) => number);
|
|
72
|
-
strength?: number | ((edge: EdgeDatum) => number);
|
|
69
|
+
link?: false | {
|
|
70
|
+
id?: (edge: EdgeDatum, index: number, edges: EdgeDatum[]) => string;
|
|
71
|
+
distance?: number | ((edge: EdgeDatum, index: number, edges: EdgeDatum[]) => number);
|
|
72
|
+
strength?: number | ((edge: EdgeDatum, index: number, edges: EdgeDatum[]) => number);
|
|
73
73
|
iterations?: number;
|
|
74
74
|
};
|
|
75
75
|
/**
|
|
@@ -77,9 +77,9 @@ export interface D3ForceLayoutOptions {
|
|
|
77
77
|
*
|
|
78
78
|
* <en/> Radial force
|
|
79
79
|
*/
|
|
80
|
-
radial?: {
|
|
81
|
-
strength?: number | ((node: NodeDatum) => number);
|
|
82
|
-
radius?: number | ((node: NodeDatum) => number);
|
|
80
|
+
radial?: false | {
|
|
81
|
+
strength?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
82
|
+
radius?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
83
83
|
x?: number;
|
|
84
84
|
y?: number;
|
|
85
85
|
};
|
|
@@ -88,18 +88,18 @@ export interface D3ForceLayoutOptions {
|
|
|
88
88
|
*
|
|
89
89
|
* <en/> X axis force
|
|
90
90
|
*/
|
|
91
|
-
x?: {
|
|
92
|
-
strength?: number | ((node: NodeDatum) => number);
|
|
93
|
-
x?: number | ((node: NodeDatum) => number);
|
|
91
|
+
x?: false | {
|
|
92
|
+
strength?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
93
|
+
x?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
94
94
|
};
|
|
95
95
|
/**
|
|
96
96
|
* <zh/> Y 轴力
|
|
97
97
|
*
|
|
98
98
|
* <en/> Y axis force
|
|
99
99
|
*/
|
|
100
|
-
y?: {
|
|
101
|
-
strength?: number | ((node: NodeDatum) => number);
|
|
102
|
-
y?: number | ((node: NodeDatum) => number);
|
|
100
|
+
y?: false | {
|
|
101
|
+
strength?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
102
|
+
y?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
105
|
export interface NodeDatum extends NodeData, SimulationNodeDatum {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { D3ForceLayoutOptions, EdgeDatum, NodeDatum as _NodeDatum } from '../d3-force/types';
|
|
2
|
-
import type { NodeData } from '../types';
|
|
3
2
|
/**
|
|
4
3
|
* @see https://github.com/vasturiano/d3-force-3d
|
|
5
4
|
*/
|
|
@@ -9,7 +8,7 @@ export interface D3Force3DLayoutOptions extends D3ForceLayoutOptions {
|
|
|
9
8
|
* <zh/> 中心力
|
|
10
9
|
* <en/> Center force
|
|
11
10
|
*/
|
|
12
|
-
center?: {
|
|
11
|
+
center?: false | {
|
|
13
12
|
x?: number;
|
|
14
13
|
y?: number;
|
|
15
14
|
z?: number;
|
|
@@ -20,9 +19,9 @@ export interface D3Force3DLayoutOptions extends D3ForceLayoutOptions {
|
|
|
20
19
|
*
|
|
21
20
|
* <en/> Radial force
|
|
22
21
|
*/
|
|
23
|
-
radial?: {
|
|
24
|
-
strength?: number | ((node:
|
|
25
|
-
radius?: number | ((node:
|
|
22
|
+
radial?: false | {
|
|
23
|
+
strength?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
24
|
+
radius?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
26
25
|
x?: number;
|
|
27
26
|
y?: number;
|
|
28
27
|
z?: number;
|
|
@@ -32,9 +31,9 @@ export interface D3Force3DLayoutOptions extends D3ForceLayoutOptions {
|
|
|
32
31
|
*
|
|
33
32
|
* <en/> Z axis force
|
|
34
33
|
*/
|
|
35
|
-
z?: {
|
|
36
|
-
strength?: number | ((node:
|
|
37
|
-
z?: number | ((node:
|
|
34
|
+
z?: false | {
|
|
35
|
+
strength?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
36
|
+
z?: number | ((node: NodeDatum, index: number, nodes: NodeDatum[]) => number);
|
|
38
37
|
};
|
|
39
38
|
}
|
|
40
39
|
export interface NodeDatum extends _NodeDatum {
|