@antv/layout 0.3.23 → 0.3.24

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.
@@ -2,8 +2,8 @@
2
2
  * @fileOverview random layout
3
3
  * @author shiwu.wyy@antfin.com
4
4
  */
5
- import { PointTuple, Node, OutNode, Edge, RadialLayoutOptions } from "../types";
6
- import { Base } from "../base";
5
+ import { PointTuple, Node, OutNode, Edge, RadialLayoutOptions } from '../types';
6
+ import { Base } from '../base';
7
7
  type INode = OutNode & {
8
8
  size?: number | PointTuple;
9
9
  };
@@ -43,6 +43,7 @@ export declare class RadialLayout extends Base {
43
43
  nodes: INode[];
44
44
  edges: Edge[];
45
45
  onLayoutEnd: () => void;
46
+ initWithMDS: boolean;
46
47
  constructor(options?: RadialLayoutOptions);
47
48
  getDefaultCfg(): {
48
49
  maxIteration: number;
@@ -56,6 +57,7 @@ export declare class RadialLayout extends Base {
56
57
  maxPreventOverlapIteration: number;
57
58
  sortBy: undefined;
58
59
  sortStrength: number;
60
+ initWithMDS: boolean;
59
61
  };
60
62
  /**
61
63
  * 执行布局
@@ -2,10 +2,10 @@
2
2
  * @fileOverview random layout
3
3
  * @author shiwu.wyy@antfin.com
4
4
  */
5
- import { isNaN, isArray, isFunction, isNumber, isString, floydWarshall, getAdjMatrix, isObject } from "../../util";
6
- import { Base } from "../base";
7
- import MDS from "./mds";
8
- import RadialNonoverlapForce from "./radialNonoverlapForce";
5
+ import { isNaN, isArray, isFunction, isNumber, isString, floydWarshall, getAdjMatrix, isObject, } from '../../util';
6
+ import { Base } from '../base';
7
+ import MDS from './mds';
8
+ import RadialNonoverlapForce from './radialNonoverlapForce';
9
9
  function getWeightMatrix(M) {
10
10
  const rows = M.length;
11
11
  const cols = M[0].length;
@@ -73,7 +73,8 @@ export class RadialLayout extends Base {
73
73
  strictRadial: true,
74
74
  maxPreventOverlapIteration: 200,
75
75
  sortBy: undefined,
76
- sortStrength: 10
76
+ sortStrength: 10,
77
+ initWithMDS: true,
77
78
  };
78
79
  }
79
80
  /**
@@ -88,10 +89,10 @@ export class RadialLayout extends Base {
88
89
  self.onLayoutEnd();
89
90
  return;
90
91
  }
91
- if (!self.width && typeof window !== "undefined") {
92
+ if (!self.width && typeof window !== 'undefined') {
92
93
  self.width = window.innerWidth;
93
94
  }
94
- if (!self.height && typeof window !== "undefined") {
95
+ if (!self.height && typeof window !== 'undefined') {
95
96
  self.height = window.innerHeight;
96
97
  }
97
98
  if (!self.center) {
@@ -173,25 +174,35 @@ export class RadialLayout extends Base {
173
174
  const W = getWeightMatrix(eIdealD);
174
175
  self.weights = W;
175
176
  // the initial positions from mds
176
- const mds = new MDS({ linkDistance, distances: eIdealD });
177
- let positions = mds.layout();
178
- positions.forEach((p) => {
179
- if (isNaN(p[0])) {
180
- p[0] = Math.random() * linkDistance;
181
- }
182
- if (isNaN(p[1])) {
183
- p[1] = Math.random() * linkDistance;
184
- }
185
- });
186
- self.positions = positions;
187
- positions.forEach((p, i) => {
177
+ if (self.initWithMDS) {
178
+ const mds = new MDS({ linkDistance, distances: eIdealD });
179
+ let positions = mds.layout();
180
+ positions.forEach((p) => {
181
+ if (isNaN(p[0])) {
182
+ p[0] = Math.random() * linkDistance;
183
+ }
184
+ if (isNaN(p[1])) {
185
+ p[1] = Math.random() * linkDistance;
186
+ }
187
+ });
188
+ self.positions = positions;
189
+ }
190
+ else {
191
+ self.positions = nodes.map((node, i) => {
192
+ return [
193
+ (Math.random() - 0.5) * eIdealD[i][focusIndex],
194
+ (Math.random() - 0.5) * eIdealD[i][focusIndex],
195
+ ];
196
+ });
197
+ }
198
+ self.positions.forEach((p, i) => {
188
199
  nodes[i].x = p[0] + center[0];
189
200
  nodes[i].y = p[1] + center[1];
190
201
  });
191
202
  // move the graph to origin, centered at focusNode
192
- positions.forEach((p) => {
193
- p[0] -= positions[focusIndex][0];
194
- p[1] -= positions[focusIndex][1];
203
+ self.positions.forEach((p) => {
204
+ p[0] -= self.positions[focusIndex][0];
205
+ p[1] -= self.positions[focusIndex][1];
195
206
  });
196
207
  self.run();
197
208
  const preventOverlap = self.preventOverlap;
@@ -240,20 +251,20 @@ export class RadialLayout extends Base {
240
251
  nodes,
241
252
  nodeSizeFunc,
242
253
  adjMatrix,
243
- positions,
254
+ positions: self.positions,
244
255
  radii,
245
256
  height,
246
257
  width,
247
258
  strictRadial,
248
259
  focusID: focusIndex,
249
260
  iterations: self.maxPreventOverlapIteration || 200,
250
- k: positions.length / 4.5
261
+ k: self.positions.length / 4.5,
251
262
  };
252
263
  const nonoverlapForce = new RadialNonoverlapForce(nonoverlapForceParams);
253
- positions = nonoverlapForce.layout();
264
+ self.positions = nonoverlapForce.layout();
254
265
  }
255
266
  // move the graph to center
256
- positions.forEach((p, i) => {
267
+ self.positions.forEach((p, i) => {
257
268
  nodes[i].x = p[0] + center[0];
258
269
  nodes[i].y = p[1] + center[1];
259
270
  });
@@ -261,7 +272,7 @@ export class RadialLayout extends Base {
261
272
  self.onLayoutEnd();
262
273
  return {
263
274
  nodes,
264
- edges
275
+ edges,
265
276
  };
266
277
  }
267
278
  run() {
@@ -338,7 +349,7 @@ export class RadialLayout extends Base {
338
349
  }
339
350
  else if (radii[i] === radii[j]) {
340
351
  // i and j are on the same circle
341
- if (self.sortBy === "data") {
352
+ if (self.sortBy === 'data') {
342
353
  // sort the nodes on the same circle according to the ordering of the data
343
354
  newRow.push((v * (Math.abs(i - j) * self.sortStrength)) /
344
355
  (radii[i] / unitRadius));
@@ -414,7 +425,7 @@ export class RadialLayout extends Base {
414
425
  return max;
415
426
  }
416
427
  getType() {
417
- return "radial";
428
+ return 'radial';
418
429
  }
419
430
  }
420
431
  //# sourceMappingURL=radial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radial.js","sourceRoot":"","sources":["../../../src/layout/radial/radial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radial.js","sourceRoot":"","sources":["../../../src/layout/radial/radial.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Base } from "./base";
1
+ import { Base } from './base';
2
2
  export interface Node {
3
3
  id: string;
4
4
  }
@@ -77,7 +77,7 @@ export interface ComboTree {
77
77
  children?: ComboTree[];
78
78
  depth?: number;
79
79
  parentId?: string;
80
- itemType?: "node" | "combo";
80
+ itemType?: 'node' | 'combo';
81
81
  [key: string]: unknown;
82
82
  }
83
83
  export interface ComboConfig {
@@ -87,7 +87,7 @@ export interface ComboConfig {
87
87
  depth?: number;
88
88
  }
89
89
  export interface CircularLayoutOptions {
90
- type: "circular";
90
+ type: 'circular';
91
91
  center?: PointTuple;
92
92
  width?: number;
93
93
  height?: number;
@@ -96,7 +96,7 @@ export interface CircularLayoutOptions {
96
96
  endRadius?: number | null;
97
97
  clockwise?: boolean;
98
98
  divisions?: number;
99
- ordering?: "topology" | "topology-directed" | "degree" | null;
99
+ ordering?: 'topology' | 'topology-directed' | 'degree' | null;
100
100
  angleRatio?: number;
101
101
  workerEnabled?: boolean;
102
102
  startAngle?: number;
@@ -104,7 +104,7 @@ export interface CircularLayoutOptions {
104
104
  onLayoutEnd?: () => void;
105
105
  }
106
106
  export interface ComboForceLayoutOptions {
107
- type: "comboForce";
107
+ type: 'comboForce';
108
108
  center?: PointTuple;
109
109
  maxIteration?: number;
110
110
  linkDistance?: number | ((d?: unknown) => number);
@@ -134,7 +134,7 @@ export interface ComboForceLayoutOptions {
134
134
  workerEnabled?: boolean;
135
135
  }
136
136
  export interface ComboCombinedLayoutOptions {
137
- type: "comboConcentricForce";
137
+ type: 'comboConcentricForce';
138
138
  center?: PointTuple;
139
139
  nodeSize?: number | number[] | ((d?: any) => number) | undefined;
140
140
  spacing?: number | number[] | ((d?: any) => number) | undefined;
@@ -144,7 +144,7 @@ export interface ComboCombinedLayoutOptions {
144
144
  innerLayout?: Base;
145
145
  }
146
146
  export interface ConcentricLayoutOptions {
147
- type: "concentric";
147
+ type: 'concentric';
148
148
  center?: PointTuple;
149
149
  preventOverlap?: boolean;
150
150
  nodeSize?: number | PointTuple;
@@ -161,9 +161,9 @@ export interface ConcentricLayoutOptions {
161
161
  onLayoutEnd?: () => void;
162
162
  }
163
163
  export interface DagreLayoutOptions {
164
- type: "dagre";
165
- rankdir?: "TB" | "BT" | "LR" | "RL";
166
- align?: "UL" | "UR" | "DL" | "DR";
164
+ type: 'dagre';
165
+ rankdir?: 'TB' | 'BT' | 'LR' | 'RL';
166
+ align?: 'UL' | 'UR' | 'DL' | 'DR';
167
167
  begin?: PointTuple;
168
168
  nodeSize?: number | number[] | undefined;
169
169
  nodesep?: number;
@@ -182,9 +182,9 @@ export interface DagreLayoutOptions {
182
182
  ranksepFunc?: ((d?: any) => number) | undefined;
183
183
  }
184
184
  export interface DagreCompoundLayoutOptions {
185
- type?: "dagreCompound";
186
- rankdir?: "TB" | "BT" | "LR" | "RL";
187
- align?: "UL" | "UR" | "DL" | "DR";
185
+ type?: 'dagreCompound';
186
+ rankdir?: 'TB' | 'BT' | 'LR' | 'RL';
187
+ align?: 'UL' | 'UR' | 'DL' | 'DR';
188
188
  begin?: PointTuple;
189
189
  nodeSize?: number | number[] | undefined;
190
190
  nodesep?: number;
@@ -195,7 +195,7 @@ export interface DagreCompoundLayoutOptions {
195
195
  onLayoutEnd?: () => void;
196
196
  }
197
197
  export interface FruchtermanLayoutOptions {
198
- type: "fruchterman";
198
+ type: 'fruchterman';
199
199
  center?: PointTuple;
200
200
  maxIteration?: number;
201
201
  width?: number;
@@ -223,7 +223,7 @@ export interface CentripetalOptions {
223
223
  };
224
224
  }
225
225
  export interface Force2LayoutOptions {
226
- type?: "force2";
226
+ type?: 'force2';
227
227
  center?: PointTuple;
228
228
  width?: number;
229
229
  height?: number;
@@ -262,7 +262,7 @@ export interface Force2LayoutOptions {
262
262
  }) => void;
263
263
  }
264
264
  export interface GForceLayoutOptions {
265
- type?: "gForce";
265
+ type?: 'gForce';
266
266
  center?: PointTuple;
267
267
  width?: number;
268
268
  height?: number;
@@ -291,7 +291,7 @@ type INode = OutNode & {
291
291
  size: number | PointTuple;
292
292
  };
293
293
  export interface GridLayoutOptions {
294
- type: "grid";
294
+ type: 'grid';
295
295
  width?: number;
296
296
  height?: number;
297
297
  begin?: PointTuple;
@@ -310,14 +310,14 @@ export interface GridLayoutOptions {
310
310
  onLayoutEnd?: () => void;
311
311
  }
312
312
  export interface MDSLayoutOptions {
313
- type: "mds";
313
+ type: 'mds';
314
314
  center?: PointTuple;
315
315
  linkDistance?: number;
316
316
  workerEnabled?: boolean;
317
317
  onLayoutEnd?: () => void;
318
318
  }
319
319
  export interface RandomLayoutOptions {
320
- type: "random";
320
+ type: 'random';
321
321
  center?: PointTuple;
322
322
  width?: number;
323
323
  height?: number;
@@ -325,7 +325,7 @@ export interface RandomLayoutOptions {
325
325
  onLayoutEnd?: () => void;
326
326
  }
327
327
  export interface ForceLayoutOptions {
328
- type: "force";
328
+ type: 'force';
329
329
  center?: PointTuple;
330
330
  linkDistance?: number | ((d?: any) => number) | undefined;
331
331
  edgeStrength?: number | ((d?: any) => number) | undefined;
@@ -349,7 +349,7 @@ export interface ForceLayoutOptions {
349
349
  workerEnabled?: boolean;
350
350
  }
351
351
  export interface RadialLayoutOptions {
352
- type: "radial";
352
+ type: 'radial';
353
353
  center?: PointTuple;
354
354
  width?: number;
355
355
  height?: number;
@@ -365,10 +365,11 @@ export interface RadialLayoutOptions {
365
365
  sortBy?: string | undefined;
366
366
  sortStrength?: number;
367
367
  workerEnabled?: boolean;
368
+ initWithMDS?: boolean;
368
369
  onLayoutEnd?: () => void;
369
370
  }
370
371
  export interface FruchtermanGPULayoutOptions {
371
- type: "fruchterman-gpu";
372
+ type: 'fruchterman-gpu';
372
373
  center?: PointTuple;
373
374
  width?: number;
374
375
  height?: number;
@@ -382,7 +383,7 @@ export interface FruchtermanGPULayoutOptions {
382
383
  onLayoutEnd?: () => void;
383
384
  }
384
385
  export interface GForceGPULayoutOptions {
385
- type: "gForce-gpu";
386
+ type: 'gForce-gpu';
386
387
  center?: PointTuple;
387
388
  linkDistance?: number | ((d?: any) => number) | undefined;
388
389
  nodeStrength?: number | ((d?: any) => number) | undefined;
@@ -400,7 +401,7 @@ export interface GForceGPULayoutOptions {
400
401
  gpuEnabled?: boolean;
401
402
  }
402
403
  export interface ForceAtlas2LayoutOptions {
403
- type: "forceAtlas2";
404
+ type: 'forceAtlas2';
404
405
  center?: PointTuple;
405
406
  width?: number;
406
407
  height?: number;
@@ -420,13 +421,13 @@ export interface ForceAtlas2LayoutOptions {
420
421
  prune?: boolean;
421
422
  }
422
423
  export interface ERLayoutOptions {
423
- type: "er";
424
+ type: 'er';
424
425
  width?: number;
425
426
  height?: number;
426
427
  nodeMinGap?: number;
427
428
  }
428
429
  export declare namespace ILayout {
429
- type LayoutTypes = "grid" | "random" | "force" | "circular" | "dagre" | "radial" | "concentric" | "mds" | "fruchterman" | "fruchterman-gpu" | "gForce" | "gForce-gpu" | "comboForce" | "forceAtlas2" | "er";
430
+ type LayoutTypes = 'grid' | 'random' | 'force' | 'circular' | 'dagre' | 'radial' | 'concentric' | 'mds' | 'fruchterman' | 'fruchterman-gpu' | 'gForce' | 'gForce-gpu' | 'comboForce' | 'forceAtlas2' | 'er';
430
431
  type LayoutOptions = GridLayoutOptions | RandomLayoutOptions | ForceLayoutOptions | CircularLayoutOptions | DagreLayoutOptions | RadialLayoutOptions | ConcentricLayoutOptions | MDSLayoutOptions | FruchtermanLayoutOptions | FruchtermanGPULayoutOptions | GForceLayoutOptions | GForceGPULayoutOptions | ComboForceLayoutOptions | ComboCombinedLayoutOptions | ForceAtlas2LayoutOptions | ERLayoutOptions;
431
432
  }
432
433
  export {};
@@ -2,8 +2,8 @@
2
2
  * @fileOverview random layout
3
3
  * @author shiwu.wyy@antfin.com
4
4
  */
5
- import { PointTuple, Node, OutNode, Edge, RadialLayoutOptions } from "../types";
6
- import { Base } from "../base";
5
+ import { PointTuple, Node, OutNode, Edge, RadialLayoutOptions } from '../types';
6
+ import { Base } from '../base';
7
7
  type INode = OutNode & {
8
8
  size?: number | PointTuple;
9
9
  };
@@ -43,6 +43,7 @@ export declare class RadialLayout extends Base {
43
43
  nodes: INode[];
44
44
  edges: Edge[];
45
45
  onLayoutEnd: () => void;
46
+ initWithMDS: boolean;
46
47
  constructor(options?: RadialLayoutOptions);
47
48
  getDefaultCfg(): {
48
49
  maxIteration: number;
@@ -56,6 +57,7 @@ export declare class RadialLayout extends Base {
56
57
  maxPreventOverlapIteration: number;
57
58
  sortBy: undefined;
58
59
  sortStrength: number;
60
+ initWithMDS: boolean;
59
61
  };
60
62
  /**
61
63
  * 执行布局
@@ -96,7 +96,8 @@ var RadialLayout = /** @class */ (function (_super) {
96
96
  strictRadial: true,
97
97
  maxPreventOverlapIteration: 200,
98
98
  sortBy: undefined,
99
- sortStrength: 10
99
+ sortStrength: 10,
100
+ initWithMDS: true,
100
101
  };
101
102
  };
102
103
  /**
@@ -111,10 +112,10 @@ var RadialLayout = /** @class */ (function (_super) {
111
112
  self.onLayoutEnd();
112
113
  return;
113
114
  }
114
- if (!self.width && typeof window !== "undefined") {
115
+ if (!self.width && typeof window !== 'undefined') {
115
116
  self.width = window.innerWidth;
116
117
  }
117
- if (!self.height && typeof window !== "undefined") {
118
+ if (!self.height && typeof window !== 'undefined') {
118
119
  self.height = window.innerHeight;
119
120
  }
120
121
  if (!self.center) {
@@ -196,25 +197,35 @@ var RadialLayout = /** @class */ (function (_super) {
196
197
  var W = getWeightMatrix(eIdealD);
197
198
  self.weights = W;
198
199
  // the initial positions from mds
199
- var mds = new mds_1.default({ linkDistance: linkDistance, distances: eIdealD });
200
- var positions = mds.layout();
201
- positions.forEach(function (p) {
202
- if ((0, util_1.isNaN)(p[0])) {
203
- p[0] = Math.random() * linkDistance;
204
- }
205
- if ((0, util_1.isNaN)(p[1])) {
206
- p[1] = Math.random() * linkDistance;
207
- }
208
- });
209
- self.positions = positions;
210
- positions.forEach(function (p, i) {
200
+ if (self.initWithMDS) {
201
+ var mds = new mds_1.default({ linkDistance: linkDistance, distances: eIdealD });
202
+ var positions = mds.layout();
203
+ positions.forEach(function (p) {
204
+ if ((0, util_1.isNaN)(p[0])) {
205
+ p[0] = Math.random() * linkDistance;
206
+ }
207
+ if ((0, util_1.isNaN)(p[1])) {
208
+ p[1] = Math.random() * linkDistance;
209
+ }
210
+ });
211
+ self.positions = positions;
212
+ }
213
+ else {
214
+ self.positions = nodes.map(function (node, i) {
215
+ return [
216
+ (Math.random() - 0.5) * eIdealD[i][focusIndex],
217
+ (Math.random() - 0.5) * eIdealD[i][focusIndex],
218
+ ];
219
+ });
220
+ }
221
+ self.positions.forEach(function (p, i) {
211
222
  nodes[i].x = p[0] + center[0];
212
223
  nodes[i].y = p[1] + center[1];
213
224
  });
214
225
  // move the graph to origin, centered at focusNode
215
- positions.forEach(function (p) {
216
- p[0] -= positions[focusIndex][0];
217
- p[1] -= positions[focusIndex][1];
226
+ self.positions.forEach(function (p) {
227
+ p[0] -= self.positions[focusIndex][0];
228
+ p[1] -= self.positions[focusIndex][1];
218
229
  });
219
230
  self.run();
220
231
  var preventOverlap = self.preventOverlap;
@@ -263,20 +274,20 @@ var RadialLayout = /** @class */ (function (_super) {
263
274
  nodes: nodes,
264
275
  nodeSizeFunc: nodeSizeFunc,
265
276
  adjMatrix: adjMatrix,
266
- positions: positions,
277
+ positions: self.positions,
267
278
  radii: radii,
268
279
  height: height,
269
280
  width: width,
270
281
  strictRadial: strictRadial,
271
282
  focusID: focusIndex,
272
283
  iterations: self.maxPreventOverlapIteration || 200,
273
- k: positions.length / 4.5
284
+ k: self.positions.length / 4.5,
274
285
  };
275
286
  var nonoverlapForce = new radialNonoverlapForce_1.default(nonoverlapForceParams);
276
- positions = nonoverlapForce.layout();
287
+ self.positions = nonoverlapForce.layout();
277
288
  }
278
289
  // move the graph to center
279
- positions.forEach(function (p, i) {
290
+ self.positions.forEach(function (p, i) {
280
291
  nodes[i].x = p[0] + center[0];
281
292
  nodes[i].y = p[1] + center[1];
282
293
  });
@@ -284,7 +295,7 @@ var RadialLayout = /** @class */ (function (_super) {
284
295
  self.onLayoutEnd();
285
296
  return {
286
297
  nodes: nodes,
287
- edges: edges
298
+ edges: edges,
288
299
  };
289
300
  };
290
301
  RadialLayout.prototype.run = function () {
@@ -361,7 +372,7 @@ var RadialLayout = /** @class */ (function (_super) {
361
372
  }
362
373
  else if (radii[i] === radii[j]) {
363
374
  // i and j are on the same circle
364
- if (self.sortBy === "data") {
375
+ if (self.sortBy === 'data') {
365
376
  // sort the nodes on the same circle according to the ordering of the data
366
377
  newRow.push((v * (Math.abs(i - j) * self.sortStrength)) /
367
378
  (radii[i] / unitRadius));
@@ -437,7 +448,7 @@ var RadialLayout = /** @class */ (function (_super) {
437
448
  return max;
438
449
  };
439
450
  RadialLayout.prototype.getType = function () {
440
- return "radial";
451
+ return 'radial';
441
452
  };
442
453
  return RadialLayout;
443
454
  }(base_1.Base));