@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.
@@ -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
- protected simulation: Simulation<NodeDatum, EdgeDatum>;
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;
@@ -1,8 +1,8 @@
1
- import { __awaiter, __rest } from "tslib";
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
- const { forceSimulation } = options, _ = __rest(options, ["forceSimulation"]);
46
- deepMix(this.options, _);
47
- if (forceSimulation)
48
- this.simulation = forceSimulation;
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 _ = Object.assign(Object.assign({}, this.options), options);
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 in options) {
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/d3-force/index.ts"],"names":[],"mappings":"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"}
@@ -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: NodeData) => number);
25
- radius?: number | ((node: NodeData) => number);
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: NodeData) => number);
37
- z?: number | ((node: NodeData) => number);
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 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/layout",
3
- "version": "1.2.14-beta.2",
3
+ "version": "1.2.14-beta.3",
4
4
  "description": "graph layout algorithm",
5
5
  "license": "MIT",
6
6
  "repository": {