@antv/layout 1.2.13 → 1.2.14-beta.1

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.
Files changed (232) hide show
  1. package/dist/85db61ddc757dae66e04.worker.js +2 -0
  2. package/dist/85db61ddc757dae66e04.worker.js.map +1 -0
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.min.js.map +1 -1
  5. package/lib/{dagre → antv-dagre}/acyclic.d.ts +1 -1
  6. package/lib/antv-dagre/acyclic.js +61 -0
  7. package/lib/antv-dagre/acyclic.js.map +1 -0
  8. package/lib/{dagre → antv-dagre}/add-border-segments.js +12 -12
  9. package/lib/antv-dagre/add-border-segments.js.map +1 -0
  10. package/lib/{dagre → antv-dagre}/coordinate-system.d.ts +2 -1
  11. package/lib/antv-dagre/coordinate-system.js +65 -0
  12. package/lib/antv-dagre/coordinate-system.js.map +1 -0
  13. package/lib/{dagre → antv-dagre}/data/list.d.ts +1 -1
  14. package/lib/{dagre → antv-dagre}/data/list.js +20 -22
  15. package/lib/antv-dagre/data/list.js.map +1 -0
  16. package/lib/{dagre → antv-dagre}/greedy-fas.d.ts +2 -2
  17. package/lib/antv-dagre/greedy-fas.js +136 -0
  18. package/lib/antv-dagre/greedy-fas.js.map +1 -0
  19. package/lib/{dagre → antv-dagre}/layout.d.ts +2 -1
  20. package/lib/{dagre → antv-dagre}/layout.js +125 -127
  21. package/lib/antv-dagre/layout.js.map +1 -0
  22. package/lib/{dagre → antv-dagre}/nesting-graph.js +36 -37
  23. package/lib/antv-dagre/nesting-graph.js.map +1 -0
  24. package/lib/{dagre → antv-dagre}/normalize.d.ts +2 -2
  25. package/lib/{dagre → antv-dagre}/normalize.js +24 -24
  26. package/lib/antv-dagre/normalize.js.map +1 -0
  27. package/lib/{dagre → antv-dagre}/order/add-subgraph-constraints.js +9 -9
  28. package/lib/antv-dagre/order/add-subgraph-constraints.js.map +1 -0
  29. package/lib/{dagre → antv-dagre}/order/barycenter.d.ts +2 -2
  30. package/lib/{dagre → antv-dagre}/order/barycenter.js +8 -8
  31. package/lib/antv-dagre/order/barycenter.js.map +1 -0
  32. package/lib/{dagre → antv-dagre}/order/build-layer-graph.js +18 -22
  33. package/lib/antv-dagre/order/build-layer-graph.js.map +1 -0
  34. package/lib/antv-dagre/order/cross-count.d.ts +3 -0
  35. package/lib/{dagre → antv-dagre}/order/cross-count.js +17 -17
  36. package/lib/antv-dagre/order/cross-count.js.map +1 -0
  37. package/lib/{dagre → antv-dagre}/order/index.d.ts +1 -1
  38. package/lib/{dagre → antv-dagre}/order/index.js +35 -35
  39. package/lib/antv-dagre/order/index.js.map +1 -0
  40. package/lib/{dagre → antv-dagre}/order/init-data-order.js +8 -9
  41. package/lib/antv-dagre/order/init-data-order.js.map +1 -0
  42. package/lib/antv-dagre/order/init-order.js +47 -0
  43. package/lib/antv-dagre/order/init-order.js.map +1 -0
  44. package/lib/{dagre → antv-dagre}/order/resolve-conflicts.d.ts +3 -3
  45. package/lib/{dagre → antv-dagre}/order/resolve-conflicts.js +32 -35
  46. package/lib/antv-dagre/order/resolve-conflicts.js.map +1 -0
  47. package/lib/{dagre → antv-dagre}/order/sort-subgraph.js +20 -20
  48. package/lib/antv-dagre/order/sort-subgraph.js.map +1 -0
  49. package/lib/{dagre → antv-dagre}/order/sort.d.ts +2 -2
  50. package/lib/{dagre → antv-dagre}/order/sort.js +19 -19
  51. package/lib/antv-dagre/order/sort.js.map +1 -0
  52. package/lib/{dagre → antv-dagre}/parent-dummy-chains.js +28 -28
  53. package/lib/antv-dagre/parent-dummy-chains.js.map +1 -0
  54. package/lib/{dagre → antv-dagre}/position/bk.d.ts +5 -4
  55. package/lib/{dagre → antv-dagre}/position/bk.js +140 -143
  56. package/lib/antv-dagre/position/bk.js.map +1 -0
  57. package/lib/{dagre → antv-dagre}/position/index.d.ts +2 -1
  58. package/lib/antv-dagre/position/index.js +51 -0
  59. package/lib/antv-dagre/position/index.js.map +1 -0
  60. package/lib/{dagre → antv-dagre}/rank/feasible-tree.d.ts +2 -2
  61. package/lib/{dagre → antv-dagre}/rank/feasible-tree.js +32 -32
  62. package/lib/antv-dagre/rank/feasible-tree.js.map +1 -0
  63. package/lib/antv-dagre/rank/index.d.ts +2 -0
  64. package/lib/{dagre → antv-dagre}/rank/index.js +10 -10
  65. package/lib/antv-dagre/rank/index.js.map +1 -0
  66. package/lib/{dagre → antv-dagre}/rank/network-simplex.d.ts +2 -2
  67. package/lib/{dagre → antv-dagre}/rank/network-simplex.js +70 -71
  68. package/lib/antv-dagre/rank/network-simplex.js.map +1 -0
  69. package/lib/{dagre → antv-dagre}/rank/util.d.ts +2 -2
  70. package/lib/{dagre → antv-dagre}/rank/util.js +31 -31
  71. package/lib/antv-dagre/rank/util.js.map +1 -0
  72. package/lib/antv-dagre/types.d.ts +2 -0
  73. package/lib/antv-dagre/types.js +2 -0
  74. package/lib/antv-dagre/types.js.map +1 -0
  75. package/lib/{dagre → antv-dagre}/util.d.ts +1 -1
  76. package/lib/{dagre → antv-dagre}/util.js +90 -98
  77. package/lib/antv-dagre/util.js.map +1 -0
  78. package/lib/antv-dagre.d.ts +50 -0
  79. package/lib/antv-dagre.js +538 -0
  80. package/lib/antv-dagre.js.map +1 -0
  81. package/lib/bundle-entry.d.ts +2 -18
  82. package/lib/bundle-entry.js +2 -18
  83. package/lib/bundle-entry.js.map +1 -1
  84. package/lib/bundle-supervisor.d.ts +4 -22
  85. package/lib/bundle-supervisor.js +54 -53
  86. package/lib/bundle-supervisor.js.map +1 -1
  87. package/lib/bundle-worker.d.ts +1 -1
  88. package/lib/bundle-worker.js +31 -33
  89. package/lib/bundle-worker.js.map +1 -1
  90. package/lib/circular.d.ts +1 -1
  91. package/lib/circular.js +124 -140
  92. package/lib/circular.js.map +1 -1
  93. package/lib/comboCombined.d.ts +1 -1
  94. package/lib/comboCombined.js +254 -284
  95. package/lib/comboCombined.js.map +1 -1
  96. package/lib/concentric.d.ts +1 -1
  97. package/lib/concentric.js +166 -176
  98. package/lib/concentric.js.map +1 -1
  99. package/lib/d3Force/forceInBox.js +75 -77
  100. package/lib/d3Force/forceInBox.js.map +1 -1
  101. package/lib/d3Force/index.d.ts +2 -2
  102. package/lib/d3Force/index.js +196 -222
  103. package/lib/d3Force/index.js.map +1 -1
  104. package/lib/dagre.d.ts +13 -24
  105. package/lib/dagre.js +57 -542
  106. package/lib/dagre.js.map +1 -1
  107. package/lib/exports.d.ts +17 -0
  108. package/lib/exports.js +17 -0
  109. package/lib/exports.js.map +1 -0
  110. package/lib/force/forceNBody.js +42 -45
  111. package/lib/force/forceNBody.js.map +1 -1
  112. package/lib/force/index.d.ts +1 -1
  113. package/lib/force/index.js +282 -309
  114. package/lib/force/index.js.map +1 -1
  115. package/lib/force/types.d.ts +5 -5
  116. package/lib/forceAtlas2/body.d.ts +1 -1
  117. package/lib/forceAtlas2/body.js +29 -31
  118. package/lib/forceAtlas2/body.js.map +1 -1
  119. package/lib/forceAtlas2/index.d.ts +1 -1
  120. package/lib/forceAtlas2/index.js +206 -218
  121. package/lib/forceAtlas2/index.js.map +1 -1
  122. package/lib/forceAtlas2/quad.d.ts +2 -2
  123. package/lib/forceAtlas2/quad.js +40 -42
  124. package/lib/forceAtlas2/quad.js.map +1 -1
  125. package/lib/forceAtlas2/quadTree.js +16 -17
  126. package/lib/forceAtlas2/quadTree.js.map +1 -1
  127. package/lib/fruchterman.d.ts +1 -1
  128. package/lib/fruchterman.js +185 -205
  129. package/lib/fruchterman.js.map +1 -1
  130. package/lib/grid.d.ts +1 -1
  131. package/lib/grid.js +197 -207
  132. package/lib/grid.js.map +1 -1
  133. package/lib/index.d.ts +1 -15
  134. package/lib/index.js +1 -15
  135. package/lib/index.js.map +1 -1
  136. package/lib/mds.d.ts +1 -1
  137. package/lib/mds.js +68 -78
  138. package/lib/mds.js.map +1 -1
  139. package/lib/radial/index.d.ts +1 -1
  140. package/lib/radial/index.js +177 -184
  141. package/lib/radial/index.js.map +1 -1
  142. package/lib/radial/mds.d.ts +1 -1
  143. package/lib/radial/mds.js +15 -13
  144. package/lib/radial/mds.js.map +1 -1
  145. package/lib/radial/radial-nonoverlap-force.d.ts +2 -2
  146. package/lib/radial/radial-nonoverlap-force.js +36 -37
  147. package/lib/radial/radial-nonoverlap-force.js.map +1 -1
  148. package/lib/random.d.ts +1 -1
  149. package/lib/random.js +53 -66
  150. package/lib/random.js.map +1 -1
  151. package/lib/registry.d.ts +2 -2
  152. package/lib/registry.js +3 -1
  153. package/lib/registry.js.map +1 -1
  154. package/lib/supervisor.d.ts +2 -3
  155. package/lib/supervisor.js +57 -56
  156. package/lib/supervisor.js.map +1 -1
  157. package/lib/types.d.ts +20 -75
  158. package/lib/types.js.map +1 -1
  159. package/lib/util/array.js +1 -1
  160. package/lib/util/array.js.map +1 -1
  161. package/lib/util/common.d.ts +1 -1
  162. package/lib/util/common.js +7 -8
  163. package/lib/util/common.js.map +1 -1
  164. package/lib/util/function.js +23 -25
  165. package/lib/util/function.js.map +1 -1
  166. package/lib/util/index.d.ts +0 -2
  167. package/lib/util/index.js +0 -2
  168. package/lib/util/index.js.map +1 -1
  169. package/lib/util/math.d.ts +1 -26
  170. package/lib/util/math.js +41 -149
  171. package/lib/util/math.js.map +1 -1
  172. package/lib/util/object.d.ts +1 -1
  173. package/lib/util/object.js +13 -13
  174. package/lib/util/object.js.map +1 -1
  175. package/lib/util/size.d.ts +3 -0
  176. package/lib/util/size.js +12 -0
  177. package/lib/util/size.js.map +1 -0
  178. package/lib/worker.js +30 -31
  179. package/lib/worker.js.map +1 -1
  180. package/package.json +9 -5
  181. package/dist/aa1bb0ccc06b11cf79c1.worker.js +0 -2
  182. package/dist/aa1bb0ccc06b11cf79c1.worker.js.map +0 -1
  183. package/lib/dagre/acyclic.js +0 -62
  184. package/lib/dagre/acyclic.js.map +0 -1
  185. package/lib/dagre/add-border-segments.js.map +0 -1
  186. package/lib/dagre/coordinate-system.js +0 -65
  187. package/lib/dagre/coordinate-system.js.map +0 -1
  188. package/lib/dagre/data/list.js.map +0 -1
  189. package/lib/dagre/greedy-fas.js +0 -147
  190. package/lib/dagre/greedy-fas.js.map +0 -1
  191. package/lib/dagre/layout.js.map +0 -1
  192. package/lib/dagre/nesting-graph.js.map +0 -1
  193. package/lib/dagre/normalize.js.map +0 -1
  194. package/lib/dagre/order/add-subgraph-constraints.js.map +0 -1
  195. package/lib/dagre/order/barycenter.js.map +0 -1
  196. package/lib/dagre/order/build-layer-graph.js.map +0 -1
  197. package/lib/dagre/order/cross-count.d.ts +0 -3
  198. package/lib/dagre/order/cross-count.js.map +0 -1
  199. package/lib/dagre/order/index.js.map +0 -1
  200. package/lib/dagre/order/init-data-order.js.map +0 -1
  201. package/lib/dagre/order/init-order.js +0 -50
  202. package/lib/dagre/order/init-order.js.map +0 -1
  203. package/lib/dagre/order/resolve-conflicts.js.map +0 -1
  204. package/lib/dagre/order/sort-subgraph.js.map +0 -1
  205. package/lib/dagre/order/sort.js.map +0 -1
  206. package/lib/dagre/parent-dummy-chains.js.map +0 -1
  207. package/lib/dagre/position/bk.js.map +0 -1
  208. package/lib/dagre/position/index.js +0 -54
  209. package/lib/dagre/position/index.js.map +0 -1
  210. package/lib/dagre/rank/feasible-tree.js.map +0 -1
  211. package/lib/dagre/rank/index.d.ts +0 -2
  212. package/lib/dagre/rank/index.js.map +0 -1
  213. package/lib/dagre/rank/network-simplex.js.map +0 -1
  214. package/lib/dagre/rank/util.js.map +0 -1
  215. package/lib/dagre/util.js.map +0 -1
  216. package/lib/util/gpu.d.ts +0 -45
  217. package/lib/util/gpu.js +0 -214
  218. package/lib/util/gpu.js.map +0 -1
  219. package/lib/util/number.d.ts +0 -1
  220. package/lib/util/number.js +0 -5
  221. package/lib/util/number.js.map +0 -1
  222. package/lib/util/string.d.ts +0 -1
  223. package/lib/util/string.js +0 -15
  224. package/lib/util/string.js.map +0 -1
  225. /package/lib/{dagre → antv-dagre}/add-border-segments.d.ts +0 -0
  226. /package/lib/{dagre → antv-dagre}/nesting-graph.d.ts +0 -0
  227. /package/lib/{dagre → antv-dagre}/order/add-subgraph-constraints.d.ts +0 -0
  228. /package/lib/{dagre → antv-dagre}/order/build-layer-graph.d.ts +0 -0
  229. /package/lib/{dagre → antv-dagre}/order/init-data-order.d.ts +0 -0
  230. /package/lib/{dagre → antv-dagre}/order/init-order.d.ts +0 -0
  231. /package/lib/{dagre → antv-dagre}/order/sort-subgraph.d.ts +0 -0
  232. /package/lib/{dagre → antv-dagre}/parent-dummy-chains.d.ts +0 -0
@@ -1,9 +1,9 @@
1
- import { __assign, __awaiter, __generator, __rest } from "tslib";
2
- import * as d3Force from "d3-force";
3
- import { isFunction, isNumber, isObject } from "@antv/util";
4
- import { cloneFormatData, isArray } from "../util";
5
- import forceInBox from "./forceInBox";
6
- var DEFAULTS_LAYOUT_OPTIONS = {
1
+ import { __awaiter, __rest } from "tslib";
2
+ import { isFunction, isNumber, isObject } from '@antv/util';
3
+ import * as d3Force from 'd3-force';
4
+ import { cloneFormatData, isArray } from '../util';
5
+ import forceInBox from './forceInBox';
6
+ const DEFAULTS_LAYOUT_OPTIONS = {
7
7
  center: [0, 0],
8
8
  preventOverlap: false,
9
9
  nodeSize: undefined,
@@ -36,253 +36,233 @@ var DEFAULTS_LAYOUT_OPTIONS = {
36
36
  * // If you want to assign the positions directly to the nodes, use assign method.
37
37
  * await layout.assign(graph, { center: [100, 100] });
38
38
  */
39
- var D3ForceLayout = /** @class */ (function () {
40
- function D3ForceLayout(options) {
41
- if (options === void 0) { options = {}; }
39
+ export class D3ForceLayout {
40
+ constructor(options = {}) {
42
41
  this.options = options;
43
- this.id = "d3force";
44
- this.options = __assign(__assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
42
+ this.id = 'd3force';
43
+ this.options = Object.assign(Object.assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
45
44
  }
46
45
  /**
47
46
  * Return the positions of nodes and edges(if needed).
48
47
  */
49
- D3ForceLayout.prototype.execute = function (graph, options) {
50
- return __awaiter(this, void 0, void 0, function () {
51
- return __generator(this, function (_a) {
52
- return [2 /*return*/, this.genericForceLayout(false, graph, options)];
53
- });
48
+ execute(graph, options) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ return this.genericForceLayout(false, graph, options);
54
51
  });
55
- };
52
+ }
56
53
  /**
57
54
  * To directly assign the positions to the nodes.
58
55
  */
59
- D3ForceLayout.prototype.assign = function (graph, options) {
60
- return __awaiter(this, void 0, void 0, function () {
61
- return __generator(this, function (_a) {
62
- this.genericForceLayout(true, graph, options);
63
- return [2 /*return*/];
64
- });
56
+ assign(graph, options) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ this.genericForceLayout(true, graph, options);
65
59
  });
66
- };
60
+ }
67
61
  /**
68
62
  * Stop simulation immediately.
69
63
  */
70
- D3ForceLayout.prototype.stop = function () {
64
+ stop() {
71
65
  var _a;
72
66
  (_a = this.forceSimulation) === null || _a === void 0 ? void 0 : _a.stop();
73
- };
67
+ }
74
68
  /**
75
69
  * Manually steps the simulation by the specified number of iterations.
76
70
  * @see https://github.com/d3/d3-force#simulation_tick
77
71
  */
78
- D3ForceLayout.prototype.tick = function (iterations) {
79
- var _this = this;
80
- if (iterations === void 0) { iterations = 1; }
72
+ tick(iterations = 1) {
81
73
  this.forceSimulation.tick(iterations);
82
- var result = {
74
+ const result = {
83
75
  nodes: formatOutNodes(this.lastLayoutNodes),
84
76
  edges: formatOutEdges(this.lastLayoutEdges),
85
77
  };
86
78
  if (this.lastAssign) {
87
- result.nodes.forEach(function (node) {
88
- return _this.lastGraph.mergeNodeData(node.id, {
89
- x: node.data.x,
90
- y: node.data.y,
91
- });
92
- });
79
+ result.nodes.forEach((node) => this.lastGraph.mergeNodeData(node.id, {
80
+ x: node.data.x,
81
+ y: node.data.y,
82
+ }));
93
83
  }
94
84
  return result;
95
- };
96
- D3ForceLayout.prototype.genericForceLayout = function (assign, graph, options) {
97
- return __awaiter(this, void 0, void 0, function () {
98
- var mergedOptions, nodes, edges, layoutNodes, layoutEdges, alphaMin, alphaDecay, alpha, nodeStrength, edgeStrength, linkDistance, clustering, clusterFociStrength, clusterEdgeDistance, clusterEdgeStrength, clusterNodeStrength, clusterNodeSize, _a, collideStrength, _b, center, preventOverlap, nodeSize, nodeSpacing, onTick, forceSimulation;
99
- var _this = this;
100
- return __generator(this, function (_c) {
101
- mergedOptions = __assign(__assign({}, this.options), options);
102
- nodes = graph.getAllNodes();
103
- edges = graph.getAllEdges();
104
- layoutNodes = nodes.map(function (node) {
105
- var _a, _b;
106
- return (__assign(__assign({}, cloneFormatData(node)), { x: (_a = node.data) === null || _a === void 0 ? void 0 : _a.x, y: (_b = node.data) === null || _b === void 0 ? void 0 : _b.y }));
107
- });
108
- layoutEdges = edges.map(function (edge) { return cloneFormatData(edge); });
109
- // Use them later in `tick`.
110
- this.lastLayoutNodes = layoutNodes;
111
- this.lastLayoutEdges = layoutEdges;
112
- this.lastAssign = assign;
113
- this.lastGraph = graph;
114
- alphaMin = mergedOptions.alphaMin, alphaDecay = mergedOptions.alphaDecay, alpha = mergedOptions.alpha, nodeStrength = mergedOptions.nodeStrength, edgeStrength = mergedOptions.edgeStrength, linkDistance = mergedOptions.linkDistance, clustering = mergedOptions.clustering, clusterFociStrength = mergedOptions.clusterFociStrength, clusterEdgeDistance = mergedOptions.clusterEdgeDistance, clusterEdgeStrength = mergedOptions.clusterEdgeStrength, clusterNodeStrength = mergedOptions.clusterNodeStrength, clusterNodeSize = mergedOptions.clusterNodeSize, _a = mergedOptions.collideStrength, collideStrength = _a === void 0 ? 1 : _a, _b = mergedOptions.center, center = _b === void 0 ? [0, 0] : _b, preventOverlap = mergedOptions.preventOverlap, nodeSize = mergedOptions.nodeSize, nodeSpacing = mergedOptions.nodeSpacing, onTick = mergedOptions.onTick;
115
- forceSimulation = mergedOptions.forceSimulation;
116
- return [2 /*return*/, new Promise(function (resolve) {
117
- if (!forceSimulation) {
118
- try {
119
- // 定义节点的力
120
- var nodeForce = d3Force.forceManyBody();
121
- if (nodeStrength) {
122
- nodeForce.strength(nodeStrength);
123
- }
124
- forceSimulation = d3Force.forceSimulation().nodes(layoutNodes);
125
- if (clustering) {
126
- var clusterForce = forceInBox();
127
- clusterForce
128
- .centerX(center[0])
129
- .centerY(center[1])
130
- .template("force")
131
- .strength(clusterFociStrength);
132
- if (layoutEdges) {
133
- clusterForce.links(layoutEdges);
134
- }
135
- if (layoutNodes) {
136
- clusterForce.nodes(layoutNodes);
137
- }
138
- clusterForce
139
- .forceLinkDistance(clusterEdgeDistance)
140
- .forceLinkStrength(clusterEdgeStrength)
141
- .forceCharge(clusterNodeStrength)
142
- .forceNodeSize(clusterNodeSize);
143
- forceSimulation.force("group", clusterForce);
144
- }
145
- forceSimulation
146
- .force("center", d3Force.forceCenter(center[0], center[1]))
147
- .force("charge", nodeForce)
148
- .alpha(alpha)
149
- .alphaDecay(alphaDecay)
150
- .alphaMin(alphaMin);
151
- if (preventOverlap) {
152
- _this.overlapProcess(forceSimulation, {
153
- nodeSize: nodeSize,
154
- nodeSpacing: nodeSpacing,
155
- collideStrength: collideStrength,
156
- });
157
- }
158
- // 如果有边,定义边的力
159
- if (layoutEdges) {
160
- // d3 的 forceLayout 会重新生成边的数据模型,为了避免污染源数据
161
- var edgeForce = d3Force
162
- .forceLink()
163
- .id(function (d) { return d.id; })
164
- .links(layoutEdges);
165
- if (edgeStrength) {
166
- edgeForce.strength(edgeStrength);
167
- }
168
- if (linkDistance) {
169
- edgeForce.distance(linkDistance);
170
- }
171
- forceSimulation.force("link", edgeForce);
172
- }
173
- forceSimulation
174
- .on("tick", function () {
175
- var outNodes = formatOutNodes(layoutNodes);
176
- onTick === null || onTick === void 0 ? void 0 : onTick({
177
- nodes: outNodes,
178
- edges: formatOutEdges(layoutEdges),
179
- });
180
- if (assign) {
181
- outNodes.forEach(function (node) {
182
- return graph.mergeNodeData(node.id, {
183
- x: node.data.x,
184
- y: node.data.y,
185
- });
186
- });
187
- }
188
- })
189
- .on("end", function () {
190
- var outNodes = formatOutNodes(layoutNodes);
191
- if (assign) {
192
- outNodes.forEach(function (node) {
193
- return graph.mergeNodeData(node.id, {
194
- x: node.data.x,
195
- y: node.data.y,
196
- });
197
- });
198
- }
199
- resolve({
200
- nodes: outNodes,
201
- edges: formatOutEdges(layoutEdges),
202
- });
203
- });
85
+ }
86
+ genericForceLayout(assign, graph, options) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ const mergedOptions = Object.assign(Object.assign({}, this.options), options);
89
+ const nodes = graph.getAllNodes();
90
+ const edges = graph.getAllEdges();
91
+ const layoutNodes = nodes.map((node) => {
92
+ var _a, _b;
93
+ return (Object.assign(Object.assign({}, cloneFormatData(node)), { x: (_a = node.data) === null || _a === void 0 ? void 0 : _a.x, y: (_b = node.data) === null || _b === void 0 ? void 0 : _b.y }));
94
+ });
95
+ const layoutEdges = edges.map((edge) => cloneFormatData(edge));
96
+ // Use them later in `tick`.
97
+ this.lastLayoutNodes = layoutNodes;
98
+ this.lastLayoutEdges = layoutEdges;
99
+ this.lastAssign = assign;
100
+ this.lastGraph = graph;
101
+ const { alphaMin, alphaDecay, alpha, nodeStrength, edgeStrength, linkDistance, clustering, clusterFociStrength, clusterEdgeDistance, clusterEdgeStrength, clusterNodeStrength, clusterNodeSize, collideStrength = 1, center = [0, 0], preventOverlap, nodeSize, nodeSpacing, onTick, } = mergedOptions;
102
+ let { forceSimulation } = mergedOptions;
103
+ return new Promise((resolve) => {
104
+ if (!forceSimulation) {
105
+ try {
106
+ // 定义节点的力
107
+ const nodeForce = d3Force.forceManyBody();
108
+ if (nodeStrength) {
109
+ nodeForce.strength(nodeStrength);
110
+ }
111
+ forceSimulation = d3Force.forceSimulation().nodes(layoutNodes);
112
+ if (clustering) {
113
+ const clusterForce = forceInBox();
114
+ clusterForce
115
+ .centerX(center[0])
116
+ .centerY(center[1])
117
+ .template('force')
118
+ .strength(clusterFociStrength);
119
+ if (layoutEdges) {
120
+ clusterForce.links(layoutEdges);
204
121
  }
205
- catch (e) {
206
- console.warn(e);
122
+ if (layoutNodes) {
123
+ clusterForce.nodes(layoutNodes);
207
124
  }
125
+ clusterForce
126
+ .forceLinkDistance(clusterEdgeDistance)
127
+ .forceLinkStrength(clusterEdgeStrength)
128
+ .forceCharge(clusterNodeStrength)
129
+ .forceNodeSize(clusterNodeSize);
130
+ forceSimulation.force('group', clusterForce);
208
131
  }
209
- else {
210
- // forceSimulation is defined
211
- if (clustering) {
212
- var clusterForce = forceInBox();
213
- clusterForce.nodes(layoutNodes);
214
- clusterForce.links(layoutEdges);
132
+ forceSimulation
133
+ .force('center', d3Force.forceCenter(center[0], center[1]))
134
+ .force('charge', nodeForce)
135
+ .alpha(alpha)
136
+ .alphaDecay(alphaDecay)
137
+ .alphaMin(alphaMin);
138
+ if (preventOverlap) {
139
+ this.overlapProcess(forceSimulation, {
140
+ nodeSize,
141
+ nodeSpacing,
142
+ collideStrength,
143
+ });
144
+ }
145
+ // 如果有边,定义边的力
146
+ if (layoutEdges) {
147
+ // d3 的 forceLayout 会重新生成边的数据模型,为了避免污染源数据
148
+ const edgeForce = d3Force
149
+ .forceLink()
150
+ .id((d) => d.id)
151
+ .links(layoutEdges);
152
+ if (edgeStrength) {
153
+ edgeForce.strength(edgeStrength);
215
154
  }
216
- forceSimulation.nodes(layoutNodes);
217
- if (layoutEdges) {
218
- // d3 的 forceLayout 会重新生成边的数据模型,为了避免污染源数据
219
- var edgeForce = d3Force
220
- .forceLink()
221
- .id(function (d) { return d.id; })
222
- .links(layoutEdges);
223
- if (edgeStrength) {
224
- edgeForce.strength(edgeStrength);
225
- }
226
- if (linkDistance) {
227
- edgeForce.distance(linkDistance);
228
- }
229
- forceSimulation.force("link", edgeForce);
155
+ if (linkDistance) {
156
+ edgeForce.distance(linkDistance);
230
157
  }
231
- if (preventOverlap) {
232
- _this.overlapProcess(forceSimulation, {
233
- nodeSize: nodeSize,
234
- nodeSpacing: nodeSpacing,
235
- collideStrength: collideStrength,
236
- });
158
+ forceSimulation.force('link', edgeForce);
159
+ }
160
+ forceSimulation
161
+ .on('tick', () => {
162
+ const outNodes = formatOutNodes(layoutNodes);
163
+ onTick === null || onTick === void 0 ? void 0 : onTick({
164
+ nodes: outNodes,
165
+ edges: formatOutEdges(layoutEdges),
166
+ });
167
+ if (assign) {
168
+ outNodes.forEach((node) => graph.mergeNodeData(node.id, {
169
+ x: node.data.x,
170
+ y: node.data.y,
171
+ }));
237
172
  }
238
- forceSimulation.alpha(alpha).restart();
239
- // since d3 writes x and y as node's first level properties, format them into data
240
- var outNodes = formatOutNodes(layoutNodes);
241
- var outEdges = formatOutEdges(layoutEdges);
173
+ })
174
+ .on('end', () => {
175
+ const outNodes = formatOutNodes(layoutNodes);
242
176
  if (assign) {
243
- outNodes.forEach(function (node) {
244
- return graph.mergeNodeData(node.id, {
245
- x: node.data.x,
246
- y: node.data.y,
247
- });
248
- });
177
+ outNodes.forEach((node) => graph.mergeNodeData(node.id, {
178
+ x: node.data.x,
179
+ y: node.data.y,
180
+ }));
249
181
  }
250
182
  resolve({
251
183
  nodes: outNodes,
252
- edges: outEdges,
184
+ edges: formatOutEdges(layoutEdges),
253
185
  });
186
+ });
187
+ }
188
+ catch (e) {
189
+ console.warn(e);
190
+ }
191
+ }
192
+ else {
193
+ // forceSimulation is defined
194
+ if (clustering) {
195
+ const clusterForce = forceInBox();
196
+ clusterForce.nodes(layoutNodes);
197
+ clusterForce.links(layoutEdges);
198
+ }
199
+ forceSimulation.nodes(layoutNodes);
200
+ if (layoutEdges) {
201
+ // d3 的 forceLayout 会重新生成边的数据模型,为了避免污染源数据
202
+ const edgeForce = d3Force
203
+ .forceLink()
204
+ .id((d) => d.id)
205
+ .links(layoutEdges);
206
+ if (edgeStrength) {
207
+ edgeForce.strength(edgeStrength);
208
+ }
209
+ if (linkDistance) {
210
+ edgeForce.distance(linkDistance);
254
211
  }
255
- _this.forceSimulation = forceSimulation;
256
- })];
212
+ forceSimulation.force('link', edgeForce);
213
+ }
214
+ if (preventOverlap) {
215
+ this.overlapProcess(forceSimulation, {
216
+ nodeSize,
217
+ nodeSpacing,
218
+ collideStrength,
219
+ });
220
+ }
221
+ forceSimulation.alpha(alpha).restart();
222
+ // since d3 writes x and y as node's first level properties, format them into data
223
+ const outNodes = formatOutNodes(layoutNodes);
224
+ const outEdges = formatOutEdges(layoutEdges);
225
+ if (assign) {
226
+ outNodes.forEach((node) => graph.mergeNodeData(node.id, {
227
+ x: node.data.x,
228
+ y: node.data.y,
229
+ }));
230
+ }
231
+ resolve({
232
+ nodes: outNodes,
233
+ edges: outEdges,
234
+ });
235
+ }
236
+ this.forceSimulation = forceSimulation;
257
237
  });
258
238
  });
259
- };
239
+ }
260
240
  /**
261
241
  * Prevent overlappings.
262
242
  * @param {object} simulation force simulation of d3
263
243
  */
264
- D3ForceLayout.prototype.overlapProcess = function (simulation, options) {
265
- var nodeSize = options.nodeSize, nodeSpacing = options.nodeSpacing, collideStrength = options.collideStrength;
266
- var nodeSizeFunc;
267
- var nodeSpacingFunc;
244
+ overlapProcess(simulation, options) {
245
+ const { nodeSize, nodeSpacing, collideStrength } = options;
246
+ let nodeSizeFunc;
247
+ let nodeSpacingFunc;
268
248
  if (isNumber(nodeSpacing)) {
269
- nodeSpacingFunc = function () { return nodeSpacing; };
249
+ nodeSpacingFunc = () => nodeSpacing;
270
250
  }
271
251
  else if (isFunction(nodeSpacing)) {
272
252
  nodeSpacingFunc = nodeSpacing;
273
253
  }
274
254
  else {
275
- nodeSpacingFunc = function () { return 0; };
255
+ nodeSpacingFunc = () => 0;
276
256
  }
277
257
  if (!nodeSize) {
278
- nodeSizeFunc = function (d) {
258
+ nodeSizeFunc = (d) => {
279
259
  if (d.size) {
280
260
  if (isArray(d.size)) {
281
- var res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
261
+ const res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
282
262
  return res / 2 + nodeSpacingFunc(d);
283
263
  }
284
264
  if (isObject(d.size)) {
285
- var res = d.size.width > d.size.height ? d.size.width : d.size.height;
265
+ const res = d.size.width > d.size.height ? d.size.width : d.size.height;
286
266
  return res / 2 + nodeSpacingFunc(d);
287
267
  }
288
268
  return d.size / 2 + nodeSpacingFunc(d);
@@ -291,49 +271,43 @@ var D3ForceLayout = /** @class */ (function () {
291
271
  };
292
272
  }
293
273
  else if (isFunction(nodeSize)) {
294
- nodeSizeFunc = function (d) {
295
- var size = nodeSize(d);
274
+ nodeSizeFunc = (d) => {
275
+ const size = nodeSize(d);
296
276
  return size + nodeSpacingFunc(d);
297
277
  };
298
278
  }
299
279
  else if (isArray(nodeSize)) {
300
- var larger = nodeSize[0] > nodeSize[1] ? nodeSize[0] : nodeSize[1];
301
- var radius_1 = larger / 2;
302
- nodeSizeFunc = function (d) { return radius_1 + nodeSpacingFunc(d); };
280
+ const larger = nodeSize[0] > nodeSize[1] ? nodeSize[0] : nodeSize[1];
281
+ const radius = larger / 2;
282
+ nodeSizeFunc = (d) => radius + nodeSpacingFunc(d);
303
283
  }
304
284
  else if (isNumber(nodeSize)) {
305
- var radius_2 = nodeSize / 2;
306
- nodeSizeFunc = function (d) { return radius_2 + nodeSpacingFunc(d); };
285
+ const radius = nodeSize / 2;
286
+ nodeSizeFunc = (d) => radius + nodeSpacingFunc(d);
307
287
  }
308
288
  else {
309
- nodeSizeFunc = function () { return 10; };
289
+ nodeSizeFunc = () => 10;
310
290
  }
311
291
  // forceCollide's parameter is a radius
312
- simulation.force("collisionForce", d3Force.forceCollide(nodeSizeFunc).strength(collideStrength));
313
- };
314
- return D3ForceLayout;
315
- }());
316
- export { D3ForceLayout };
292
+ simulation.force('collisionForce', d3Force.forceCollide(nodeSizeFunc).strength(collideStrength));
293
+ }
294
+ }
317
295
  /**
318
296
  * Format the calculation nodes into output nodes.
319
297
  * Since d3 reads properties in plain node data object which is not compact to the OutNode
320
298
  * @param layoutNodes
321
299
  * @returns
322
300
  */
323
- var formatOutNodes = function (layoutNodes) {
324
- return layoutNodes.map(function (node) {
325
- var x = node.x, y = node.y, others = __rest(node, ["x", "y"]);
326
- return __assign(__assign({}, others), { data: __assign(__assign({}, others.data), { x: x,
327
- y: y }) });
328
- });
329
- };
301
+ const formatOutNodes = (layoutNodes) => layoutNodes.map((node) => {
302
+ const { x, y } = node, others = __rest(node, ["x", "y"]);
303
+ return Object.assign(Object.assign({}, others), { data: Object.assign(Object.assign({}, others.data), { x,
304
+ y }) });
305
+ });
330
306
  /**
331
307
  * d3 will modify `source` and `target` on edge object.
332
308
  */
333
- var formatOutEdges = function (edges) {
334
- return edges.map(function (edge) {
335
- var source = edge.source, target = edge.target, rest = __rest(edge, ["source", "target"]);
336
- return __assign(__assign({}, rest), { source: source.id, target: target.id });
337
- });
338
- };
309
+ const formatOutEdges = (edges) => edges.map((edge) => {
310
+ const { source, target } = edge, rest = __rest(edge, ["source", "target"]);
311
+ return Object.assign(Object.assign({}, rest), { source: source.id, target: target.id });
312
+ });
339
313
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/d3Force/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/d3Force/index.ts"],"names":[],"mappings":"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"}
package/lib/dagre.d.ts CHANGED
@@ -1,30 +1,19 @@
1
- import type { Graph as IGraph, Layout, LayoutMapping, DagreLayoutOptions } from './types';
1
+ import type { EdgeConfig, GraphLabel, NodeConfig } from 'dagre';
2
+ import type { Graph, Layout, LayoutMapping, Node } from './types';
3
+ import { type Size } from './util/size';
4
+ export interface DagreLayoutOptions extends GraphLabel, NodeConfig, EdgeConfig {
5
+ nodeSize?: Size | ((node: Node) => Size);
6
+ }
2
7
  /**
3
- * Layout arranging the nodes in a circle.
4
- *
5
- * @example
6
- * // Assign layout options when initialization.
7
- * const layout = new CircularLayout({ radius: 10 });
8
- * const positions = await layout.execute(graph); // { nodes: [], edges: [] }
9
- *
10
- * // Or use different options later.
11
- * const layout = new CircularLayout({ radius: 10 });
12
- * const positions = await layout.execute(graph, { radius: 20 }); // { nodes: [], edges: [] }
13
- *
14
- * // If you want to assign the positions directly to the nodes, use assign method.
15
- * await layout.assign(graph, { radius: 20 });
8
+ * Adapt dagre.js layout
9
+ * @link https://github.com/dagrejs/dagre
16
10
  */
17
11
  export declare class DagreLayout implements Layout<DagreLayoutOptions> {
18
- options: DagreLayoutOptions;
12
+ static defaultOptions: Partial<DagreLayoutOptions>;
19
13
  id: string;
20
- constructor(options?: DagreLayoutOptions);
21
- /**
22
- * Return the positions of nodes and edges(if needed).
23
- */
24
- execute(graph: IGraph, options?: DagreLayoutOptions): Promise<LayoutMapping>;
25
- /**
26
- * To directly assign the positions to the nodes.
27
- */
28
- assign(graph: IGraph, options?: DagreLayoutOptions): Promise<void>;
14
+ options: Partial<DagreLayoutOptions>;
15
+ constructor(options: Partial<DagreLayoutOptions>);
16
+ execute(graph: Graph, options?: DagreLayoutOptions): Promise<LayoutMapping>;
17
+ assign(graph: Graph, options?: DagreLayoutOptions): Promise<void>;
29
18
  private genericDagreLayout;
30
19
  }