@antv/layout 1.2.13 → 1.2.14-beta.0

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