@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 +1 @@
1
- {"version":3,"file":"mds.js","sourceRoot":"","sources":["../../src/radial/mds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAG3E,MAAM,CAAC,IAAM,GAAG,GAAG,UAAC,SAAiB,EAAE,SAAmB,EAAE,YAAoB;IAC9E,IAAI;QACF,mBAAmB;QACnB,IAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAEzD,iCAAiC;QACjC,IAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAM,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAElE,4DAA4D;QAC5D,iBAAiB;QACjB,IAAM,GAAG,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAM,aAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjE,OAAO,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,UAAC,GAAa;YACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,aAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAe,CAAC;QAC3F,CAAC,CAAC,CAAC;KACJ;IAAC,WAAM;QACN,IAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC;YACvC,IAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,OAAO,GAAG,CAAC;KACZ;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"mds.js","sourceRoot":"","sources":["../../src/radial/mds.ts"],"names":[],"mappings":";;;AAAA,yCAA2E;AAGpE,MAAM,GAAG,GAAG,CACjB,SAAiB,EACjB,SAAmB,EACnB,YAAoB,EACN,EAAE;IAChB,IAAI;QACF,mBAAmB;QACnB,MAAM,CAAC,GAAG,kBAAQ,CAAC,GAAG,CAAC,kBAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAEzD,iCAAiC;QACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAElE,4DAA4D;QAC5D,iBAAiB;QACjB,MAAM,GAAG,GAAG,IAAI,sCAA0B,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,kBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjE,OAAO,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAa,EAAE,EAAE;YAC5D,OAAO,kBAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;iBACtC,MAAM,EAAE,CAAC,CAAC,CAAC;iBACX,MAAM,CAAC,CAAC,EAAE,SAAS,CAAe,CAAC;QACxC,CAAC,CAAC,CAAC;KACJ;IAAC,WAAM;QACN,MAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC;YACvC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,OAAO,GAAG,CAAC;KACZ;AACH,CAAC,CAAC;AAjCW,QAAA,GAAG,OAiCd"}
@@ -1,5 +1,5 @@
1
- import type { Graph, Node, Point } from "../types";
2
- export declare type RadialNonoverlapForceOptions = {
1
+ import type { Graph, Node, Point } from '../types';
2
+ export type RadialNonoverlapForceOptions = {
3
3
  positions: Point[];
4
4
  focusIdx: number;
5
5
  radii: number[];
@@ -1,21 +1,23 @@
1
- import { __assign } from "tslib";
2
- var SPEED_DIVISOR = 800;
3
- var DEFAULTS_LAYOUT_OPTIONS = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.radialNonoverlapForce = void 0;
4
+ const SPEED_DIVISOR = 800;
5
+ const DEFAULTS_LAYOUT_OPTIONS = {
4
6
  iterations: 10,
5
7
  height: 10,
6
8
  width: 10,
7
9
  speed: 100,
8
10
  gravity: 10,
9
- k: 5
11
+ k: 5,
10
12
  };
11
- export var radialNonoverlapForce = function (graph, options) {
12
- var mergedOptions = __assign(__assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
13
- var positions = mergedOptions.positions, iterations = mergedOptions.iterations, width = mergedOptions.width, k = mergedOptions.k, _a = mergedOptions.speed, speed = _a === void 0 ? 100 : _a, strictRadial = mergedOptions.strictRadial, focusIdx = mergedOptions.focusIdx, _b = mergedOptions.radii, radii = _b === void 0 ? [] : _b, nodeSizeFunc = mergedOptions.nodeSizeFunc;
14
- var nodes = graph.getAllNodes();
15
- var disp = [];
16
- var maxDisplace = width / 10;
17
- for (var i = 0; i < iterations; i++) {
18
- positions.forEach(function (_, k) {
13
+ const radialNonoverlapForce = (graph, options) => {
14
+ const mergedOptions = Object.assign(Object.assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
15
+ const { positions, iterations, width, k, speed = 100, strictRadial, focusIdx, radii = [], nodeSizeFunc, } = mergedOptions;
16
+ const nodes = graph.getAllNodes();
17
+ const disp = [];
18
+ const maxDisplace = width / 10;
19
+ for (let i = 0; i < iterations; i++) {
20
+ positions.forEach((_, k) => {
19
21
  disp[k] = { x: 0, y: 0 };
20
22
  });
21
23
  // 给重叠的节点增加斥力
@@ -24,10 +26,11 @@ export var radialNonoverlapForce = function (graph, options) {
24
26
  }
25
27
  return positions;
26
28
  };
27
- var getRepulsion = function (nodes, positions, disp, k, radii, nodeSizeFunc) {
28
- positions.forEach(function (v, i) {
29
+ exports.radialNonoverlapForce = radialNonoverlapForce;
30
+ const getRepulsion = (nodes, positions, disp, k, radii, nodeSizeFunc) => {
31
+ positions.forEach((v, i) => {
29
32
  disp[i] = { x: 0, y: 0 };
30
- positions.forEach(function (u, j) {
33
+ positions.forEach((u, j) => {
31
34
  if (i === j) {
32
35
  return;
33
36
  }
@@ -35,59 +38,59 @@ var getRepulsion = function (nodes, positions, disp, k, radii, nodeSizeFunc) {
35
38
  if (radii[i] !== radii[j]) {
36
39
  return;
37
40
  }
38
- var vecx = v.x - u.x;
39
- var vecy = v.y - u.y;
40
- var vecLength = Math.sqrt(vecx * vecx + vecy * vecy);
41
+ let vecx = v.x - u.x;
42
+ let vecy = v.y - u.y;
43
+ let vecLength = Math.sqrt(vecx * vecx + vecy * vecy);
41
44
  if (vecLength === 0) {
42
45
  vecLength = 1;
43
- var sign = i > j ? 1 : -1;
46
+ const sign = i > j ? 1 : -1;
44
47
  vecx = 0.01 * sign;
45
48
  vecy = 0.01 * sign;
46
49
  }
47
50
  // these two nodes overlap
48
51
  if (vecLength < nodeSizeFunc(nodes[i]) / 2 + nodeSizeFunc(nodes[j]) / 2) {
49
- var common = (k * k) / vecLength;
52
+ const common = (k * k) / vecLength;
50
53
  disp[i].x += (vecx / vecLength) * common;
51
54
  disp[i].y += (vecy / vecLength) * common;
52
55
  }
53
56
  });
54
57
  });
55
58
  };
56
- var updatePositions = function (positions, disp, speed, strictRadial, focusIdx, maxDisplace, width, radii) {
57
- var maxDisp = maxDisplace || width / 10;
59
+ const updatePositions = (positions, disp, speed, strictRadial, focusIdx, maxDisplace, width, radii) => {
60
+ const maxDisp = maxDisplace || width / 10;
58
61
  if (strictRadial) {
59
- disp.forEach(function (di, i) {
60
- var vx = positions[i].x - positions[focusIdx].x;
61
- var vy = positions[i].y - positions[focusIdx].y;
62
- var vLength = Math.sqrt(vx * vx + vy * vy);
63
- var vpx = vy / vLength;
64
- var vpy = -vx / vLength;
65
- var diLength = Math.sqrt(di.x * di.x + di.y * di.y);
66
- var alpha = Math.acos((vpx * di.x + vpy * di.y) / diLength);
62
+ disp.forEach((di, i) => {
63
+ const vx = positions[i].x - positions[focusIdx].x;
64
+ const vy = positions[i].y - positions[focusIdx].y;
65
+ const vLength = Math.sqrt(vx * vx + vy * vy);
66
+ let vpx = vy / vLength;
67
+ let vpy = -vx / vLength;
68
+ const diLength = Math.sqrt(di.x * di.x + di.y * di.y);
69
+ let alpha = Math.acos((vpx * di.x + vpy * di.y) / diLength);
67
70
  if (alpha > Math.PI / 2) {
68
71
  alpha -= Math.PI / 2;
69
72
  vpx *= -1;
70
73
  vpy *= -1;
71
74
  }
72
- var tdispLength = Math.cos(alpha) * diLength;
75
+ const tdispLength = Math.cos(alpha) * diLength;
73
76
  di.x = vpx * tdispLength;
74
77
  di.y = vpy * tdispLength;
75
78
  });
76
79
  }
77
80
  // move
78
- positions.forEach(function (n, i) {
81
+ positions.forEach((n, i) => {
79
82
  if (i === focusIdx) {
80
83
  return;
81
84
  }
82
- var distLength = Math.sqrt(disp[i].x * disp[i].x + disp[i].y * disp[i].y);
85
+ const distLength = Math.sqrt(disp[i].x * disp[i].x + disp[i].y * disp[i].y);
83
86
  if (distLength > 0 && i !== focusIdx) {
84
- var limitedDist = Math.min(maxDisp * (speed / SPEED_DIVISOR), distLength);
87
+ const limitedDist = Math.min(maxDisp * (speed / SPEED_DIVISOR), distLength);
85
88
  n.x += (disp[i].x / distLength) * limitedDist;
86
89
  n.y += (disp[i].y / distLength) * limitedDist;
87
90
  if (strictRadial) {
88
- var vx = n.x - positions[focusIdx].x;
89
- var vy = n.y - positions[focusIdx].y;
90
- var nfDis = Math.sqrt(vx * vx + vy * vy);
91
+ let vx = n.x - positions[focusIdx].x;
92
+ let vy = n.y - positions[focusIdx].y;
93
+ const nfDis = Math.sqrt(vx * vx + vy * vy);
91
94
  vx = (vx / nfDis) * radii[i];
92
95
  vy = (vy / nfDis) * radii[i];
93
96
  n.x = positions[focusIdx].x + vx;
@@ -1 +1 @@
1
- {"version":3,"file":"radial-nonoverlap-force.js","sourceRoot":"","sources":["../../src/radial/radial-nonoverlap-force.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radial-nonoverlap-force.js","sourceRoot":"","sources":["../../src/radial/radial-nonoverlap-force.ts"],"names":[],"mappings":"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"}
package/lib/random.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Graph, LayoutMapping, RandomLayoutOptions, Layout } from "./types";
1
+ import type { Graph, Layout, LayoutMapping, RandomLayoutOptions } from './types';
2
2
  /**
3
3
  * Layout randomizing the nodes' position
4
4
  *
package/lib/random.js CHANGED
@@ -1,5 +1,8 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
- var DEFAULTS_LAYOUT_OPTIONS = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RandomLayout = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const DEFAULTS_LAYOUT_OPTIONS = {
3
6
  center: [0, 0],
4
7
  width: 300,
5
8
  height: 300,
@@ -19,80 +22,68 @@ var DEFAULTS_LAYOUT_OPTIONS = {
19
22
  * // If you want to assign the positions directly to the nodes, use assign method.
20
23
  * await layout.assign(graph, { center: [100, 100] });
21
24
  */
22
- var RandomLayout = /** @class */ (function () {
23
- function RandomLayout(options) {
24
- if (options === void 0) { options = {}; }
25
+ class RandomLayout {
26
+ constructor(options = {}) {
25
27
  this.options = options;
26
- this.id = "random";
27
- this.options = __assign(__assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
28
+ this.id = 'random';
29
+ this.options = Object.assign(Object.assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
28
30
  }
29
31
  /**
30
32
  * Return the positions of nodes and edges(if needed).
31
33
  */
32
- RandomLayout.prototype.execute = function (graph, options) {
33
- return __awaiter(this, void 0, void 0, function () {
34
- return __generator(this, function (_a) {
35
- return [2 /*return*/, this.genericRandomLayout(false, graph, options)];
36
- });
34
+ execute(graph, options) {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ return this.genericRandomLayout(false, graph, options);
37
37
  });
38
- };
38
+ }
39
39
  /**
40
40
  * To directly assign the positions to the nodes.
41
41
  */
42
- RandomLayout.prototype.assign = function (graph, options) {
43
- return __awaiter(this, void 0, void 0, function () {
44
- return __generator(this, function (_a) {
45
- this.genericRandomLayout(true, graph, options);
46
- return [2 /*return*/];
47
- });
42
+ assign(graph, options) {
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
+ this.genericRandomLayout(true, graph, options);
48
45
  });
49
- };
50
- RandomLayout.prototype.genericRandomLayout = function (assign, graph, options) {
51
- return __awaiter(this, void 0, void 0, function () {
52
- var mergedOptions, propsCenter, propsWidth, propsHeight, nodes, layoutScale, width, height, center, layoutNodes, result;
53
- return __generator(this, function (_a) {
54
- mergedOptions = __assign(__assign({}, this.options), options);
55
- propsCenter = mergedOptions.center, propsWidth = mergedOptions.width, propsHeight = mergedOptions.height;
56
- nodes = graph.getAllNodes();
57
- layoutScale = 0.9;
58
- width = !propsWidth && typeof window !== "undefined"
59
- ? window.innerWidth
60
- : propsWidth;
61
- height = !propsHeight && typeof window !== "undefined"
62
- ? window.innerHeight
63
- : propsHeight;
64
- center = !propsCenter
65
- ? [width / 2, height / 2]
66
- : propsCenter;
67
- layoutNodes = [];
68
- if (nodes) {
69
- nodes.forEach(function (node) {
70
- layoutNodes.push({
71
- id: node.id,
72
- data: {
73
- x: (Math.random() - 0.5) * layoutScale * width + center[0],
74
- y: (Math.random() - 0.5) * layoutScale * height + center[1],
75
- },
76
- });
77
- });
78
- }
79
- if (assign) {
80
- layoutNodes.forEach(function (node) {
81
- return graph.mergeNodeData(node.id, {
82
- x: node.data.x,
83
- y: node.data.y,
84
- });
46
+ }
47
+ genericRandomLayout(assign, graph, options) {
48
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
+ const mergedOptions = Object.assign(Object.assign({}, this.options), options);
50
+ const { center: propsCenter, width: propsWidth, height: propsHeight, } = mergedOptions;
51
+ const nodes = graph.getAllNodes();
52
+ const layoutScale = 0.9;
53
+ const width = !propsWidth && typeof window !== 'undefined'
54
+ ? window.innerWidth
55
+ : propsWidth;
56
+ const height = !propsHeight && typeof window !== 'undefined'
57
+ ? window.innerHeight
58
+ : propsHeight;
59
+ const center = !propsCenter
60
+ ? [width / 2, height / 2]
61
+ : propsCenter;
62
+ const layoutNodes = [];
63
+ if (nodes) {
64
+ nodes.forEach((node) => {
65
+ layoutNodes.push({
66
+ id: node.id,
67
+ data: {
68
+ x: (Math.random() - 0.5) * layoutScale * width + center[0],
69
+ y: (Math.random() - 0.5) * layoutScale * height + center[1],
70
+ },
85
71
  });
86
- }
87
- result = {
88
- nodes: layoutNodes,
89
- edges: graph.getAllEdges(),
90
- };
91
- return [2 /*return*/, result];
92
- });
72
+ });
73
+ }
74
+ if (assign) {
75
+ layoutNodes.forEach((node) => graph.mergeNodeData(node.id, {
76
+ x: node.data.x,
77
+ y: node.data.y,
78
+ }));
79
+ }
80
+ const result = {
81
+ nodes: layoutNodes,
82
+ edges: graph.getAllEdges(),
83
+ };
84
+ return result;
93
85
  });
94
- };
95
- return RandomLayout;
96
- }());
97
- export { RandomLayout };
86
+ }
87
+ }
88
+ exports.RandomLayout = RandomLayout;
98
89
  //# sourceMappingURL=random.js.map
package/lib/random.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";AASA,IAAM,uBAAuB,GAAiC;IAC5D,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH;IAGE,sBAAmB,OAAwD;QAAxD,wBAAA,EAAA,UAA+B,EAAyB;QAAxD,YAAO,GAAP,OAAO,CAAiD;QAF3E,OAAE,GAAG,QAAQ,CAAC;QAGZ,IAAI,CAAC,OAAO,yBACP,uBAAuB,GACvB,OAAO,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACG,8BAAO,GAAb,UAAc,KAAY,EAAE,OAA6B;;;gBACvD,sBAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAC;;;KACxD;IACD;;OAEG;IACG,6BAAM,GAAZ,UAAa,KAAY,EAAE,OAA6B;;;gBACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;;;;KAChD;IAYa,0CAAmB,GAAjC,UACE,MAAe,EACf,KAAY,EACZ,OAA6B;;;;gBAEvB,aAAa,yBAAQ,IAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;gBAE5C,WAAW,GAGjB,aAAa,OAHI,EACZ,UAAU,GAEf,aAAa,MAFE,EACT,WAAW,GACjB,aAAa,OADI,CACH;gBAEZ,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5B,WAAW,GAAG,GAAG,CAAC;gBAClB,KAAK,GACT,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW;oBAC1C,CAAC,CAAC,MAAM,CAAC,UAAU;oBACnB,CAAC,CAAE,UAAqB,CAAC;gBACvB,MAAM,GACV,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW;oBAC3C,CAAC,CAAC,MAAM,CAAC,WAAW;oBACpB,CAAC,CAAE,WAAsB,CAAC;gBACxB,MAAM,GAAG,CAAC,WAAW;oBACzB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;oBACzB,CAAC,CAAE,WAA0B,CAAC;gBAE1B,WAAW,GAAc,EAAE,CAAC;gBAClC,IAAI,KAAK,EAAE;oBACT,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;wBACjB,WAAW,CAAC,IAAI,CAAC;4BACf,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE;gCACJ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;gCAC1D,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;6BAC5D;yBACF,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,MAAM,EAAE;oBACV,WAAW,CAAC,OAAO,CAAC,UAAC,IAAI;wBACvB,OAAA,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;4BAC3B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;yBACf,CAAC;oBAHF,CAGE,CACH,CAAC;iBACH;gBAEK,MAAM,GAAG;oBACb,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;iBAC3B,CAAC;gBAEF,sBAAO,MAAM,EAAC;;;KACf;IACH,mBAAC;AAAD,CAAC,AAxFD,IAwFC"}
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;;;AASA,MAAM,uBAAuB,GAAiC;IAC5D,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAa,YAAY;IAGvB,YAAmB,UAA+B,EAAyB;QAAxD,YAAO,GAAP,OAAO,CAAiD;QAF3E,OAAE,GAAG,QAAQ,CAAC;QAGZ,IAAI,CAAC,OAAO,mCACP,uBAAuB,GACvB,OAAO,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACG,OAAO,CAAC,KAAY,EAAE,OAA6B;;YACvD,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;KAAA;IACD;;OAEG;IACG,MAAM,CAAC,KAAY,EAAE,OAA6B;;YACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;KAAA;IAYa,mBAAmB,CAC/B,MAAe,EACf,KAAY,EACZ,OAA6B;;YAE7B,MAAM,aAAa,mCAAQ,IAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;YACtD,MAAM,EACJ,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,GACpB,GAAG,aAAa,CAAC;YAElB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,GAAG,CAAC;YACxB,MAAM,KAAK,GACT,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW;gBAC1C,CAAC,CAAC,MAAM,CAAC,UAAU;gBACnB,CAAC,CAAE,UAAqB,CAAC;YAC7B,MAAM,MAAM,GACV,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW;gBAC3C,CAAC,CAAC,MAAM,CAAC,WAAW;gBACpB,CAAC,CAAE,WAAsB,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,WAAW;gBACzB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAE,WAA0B,CAAC;YAEhC,MAAM,WAAW,GAAc,EAAE,CAAC;YAClC,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,WAAW,CAAC,IAAI,CAAC;wBACf,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE;4BACJ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;4BAC1D,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;yBAC5D;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,MAAM,EAAE;gBACV,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;oBAC3B,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACf,CAAC,CACH,CAAC;aACH;YAED,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;aAC3B,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AAxFD,oCAwFC"}
package/lib/registry.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import type { LayoutConstructor } from './types';
2
- export declare const registry: Record<string, LayoutConstructor<any>>;
1
+ import type { Layout } from './types';
2
+ export declare const registry: Record<string, new (...args: any) => Layout<any>>;
package/lib/registry.js CHANGED
@@ -1,27 +1,32 @@
1
- import { CircularLayout } from './circular';
2
- import { ComboCombinedLayout } from './comboCombined';
3
- import { ConcentricLayout } from './concentric';
4
- import { D3ForceLayout } from './d3Force';
5
- import { DagreLayout } from './dagre';
6
- import { ForceLayout } from './force';
7
- import { ForceAtlas2Layout } from './forceAtlas2';
8
- import { FruchtermanLayout } from './fruchterman';
9
- import { GridLayout } from './grid';
10
- import { MDSLayout } from './mds';
11
- import { RadialLayout } from './radial';
12
- import { RandomLayout } from './random';
13
- export var registry = {
14
- circular: CircularLayout,
15
- concentric: ConcentricLayout,
16
- mds: MDSLayout,
17
- random: RandomLayout,
18
- grid: GridLayout,
19
- radial: RadialLayout,
20
- force: ForceLayout,
21
- d3force: D3ForceLayout,
22
- fruchterman: FruchtermanLayout,
23
- forceAtlas2: ForceAtlas2Layout,
24
- dagre: DagreLayout,
25
- comboCombined: ComboCombinedLayout,
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registry = void 0;
4
+ const antv_dagre_1 = require("./antv-dagre");
5
+ const circular_1 = require("./circular");
6
+ const comboCombined_1 = require("./comboCombined");
7
+ const concentric_1 = require("./concentric");
8
+ const d3Force_1 = require("./d3Force");
9
+ const dagre_1 = require("./dagre");
10
+ const force_1 = require("./force");
11
+ const forceAtlas2_1 = require("./forceAtlas2");
12
+ const fruchterman_1 = require("./fruchterman");
13
+ const grid_1 = require("./grid");
14
+ const mds_1 = require("./mds");
15
+ const radial_1 = require("./radial");
16
+ const random_1 = require("./random");
17
+ exports.registry = {
18
+ circular: circular_1.CircularLayout,
19
+ concentric: concentric_1.ConcentricLayout,
20
+ mds: mds_1.MDSLayout,
21
+ random: random_1.RandomLayout,
22
+ grid: grid_1.GridLayout,
23
+ radial: radial_1.RadialLayout,
24
+ force: force_1.ForceLayout,
25
+ d3force: d3Force_1.D3ForceLayout,
26
+ fruchterman: fruchterman_1.FruchtermanLayout,
27
+ forceAtlas2: forceAtlas2_1.ForceAtlas2Layout,
28
+ dagre: dagre_1.DagreLayout,
29
+ antvDagre: antv_dagre_1.AntVDagreLayout,
30
+ comboCombined: comboCombined_1.ComboCombinedLayout,
26
31
  };
27
32
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,CAAC,IAAM,QAAQ,GAA2C;IAC9D,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;IAClB,aAAa,EAAE,mBAAmB;CACnC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,yCAA4C;AAC5C,mDAAsD;AACtD,6CAAgD;AAChD,uCAA0C;AAC1C,mCAAsC;AACtC,mCAAsC;AACtC,+CAAkD;AAClD,+CAAkD;AAClD,iCAAoC;AACpC,+BAAkC;AAClC,qCAAwC;AACxC,qCAAwC;AAG3B,QAAA,QAAQ,GAAsD;IACzE,QAAQ,EAAE,yBAAc;IACxB,UAAU,EAAE,6BAAgB;IAC5B,GAAG,EAAE,eAAS;IACd,MAAM,EAAE,qBAAY;IACpB,IAAI,EAAE,iBAAU;IAChB,MAAM,EAAE,qBAAY;IACpB,KAAK,EAAE,mBAAW;IAClB,OAAO,EAAE,uBAAa;IACtB,WAAW,EAAE,+BAAiB;IAC9B,WAAW,EAAE,+BAAiB;IAC9B,KAAK,EAAE,mBAAW;IAClB,SAAS,EAAE,4BAAe;IAC1B,aAAa,EAAE,mCAAmB;CACnC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import EventEmitter from '@antv/event-emitter';
2
- import { Graph, Node, Edge } from '@antv/graphlib';
2
+ import { Edge, Graph, Node } from '@antv/graphlib';
3
3
  import type { Layout, LayoutSupervisor } from './types';
4
4
  /**
5
5
  * The payload transferred from main thread to the worker.
@@ -13,7 +13,7 @@ export interface Payload {
13
13
  nodes: Node<any>[];
14
14
  edges: Edge<any>[];
15
15
  }
16
- interface SupervisorOptions {
16
+ export interface SupervisorOptions {
17
17
  /**
18
18
  * Iterations run in algorithm such as d3force, will be passed in `tick()` later.
19
19
  */
@@ -48,4 +48,3 @@ export declare class Supervisor extends EventEmitter implements LayoutSupervisor
48
48
  kill(): void;
49
49
  isRunning(): boolean;
50
50
  }
51
- export {};
package/lib/supervisor.js CHANGED
@@ -1,8 +1,10 @@
1
- import { __awaiter, __extends, __generator, __read, __rest } from "tslib";
2
- // @ts-ignore
3
- import EventEmitter from '@antv/event-emitter';
4
- import * as Comlink from 'comlink';
5
- import { isFunction } from '@antv/util';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Supervisor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const event_emitter_1 = tslib_1.__importDefault(require("@antv/event-emitter"));
6
+ const util_1 = require("@antv/util");
7
+ const Comlink = tslib_1.__importStar(require("comlink"));
6
8
  /**
7
9
  * @example
8
10
  * const graph = new Graph();
@@ -13,17 +15,15 @@ import { isFunction } from '@antv/util';
13
15
  * supervisor.stop();
14
16
  * supervisor.kill();
15
17
  */
16
- var Supervisor = /** @class */ (function (_super) {
17
- __extends(Supervisor, _super);
18
- function Supervisor(graph, layout, options) {
19
- var _this = _super.call(this) || this;
20
- _this.graph = graph;
21
- _this.layout = layout;
22
- _this.options = options;
23
- _this.spawnWorker();
24
- return _this;
18
+ class Supervisor extends event_emitter_1.default {
19
+ constructor(graph, layout, options) {
20
+ super();
21
+ this.graph = graph;
22
+ this.layout = layout;
23
+ this.options = options;
24
+ this.spawnWorker();
25
25
  }
26
- Supervisor.prototype.spawnWorker = function () {
26
+ spawnWorker() {
27
27
  this.proxy = Comlink.wrap(
28
28
  // @ts-ignore
29
29
  new Worker(new URL('./worker.js', import.meta.url), { type: 'module' }));
@@ -31,60 +31,65 @@ var Supervisor = /** @class */ (function (_super) {
31
31
  this.running = false;
32
32
  this.execute();
33
33
  }
34
- };
35
- Supervisor.prototype.execute = function () {
34
+ }
35
+ execute() {
36
36
  var _a;
37
- return __awaiter(this, void 0, void 0, function () {
38
- var _b, onTick, rest, noFunctionOptions, payload, arraybufferWithNodesEdges, _c, positions;
39
- return __generator(this, function (_d) {
40
- switch (_d.label) {
41
- case 0:
42
- if (this.running)
43
- return [2 /*return*/, this];
44
- this.running = true;
45
- _b = this.layout.options, onTick = _b.onTick, rest = __rest(_b, ["onTick"]);
46
- noFunctionOptions = {};
47
- Object.keys(rest).forEach(function (name) {
48
- if (!isFunction(rest[name]))
49
- noFunctionOptions[name] = rest[name];
50
- });
51
- payload = {
52
- layout: {
53
- id: this.layout.id,
54
- options: noFunctionOptions,
55
- iterations: (_a = this.options) === null || _a === void 0 ? void 0 : _a.iterations,
56
- },
57
- nodes: this.graph.getAllNodes(),
58
- edges: this.graph.getAllEdges(),
59
- };
60
- arraybufferWithNodesEdges = new Float32Array([0]);
61
- return [4 /*yield*/, this.proxy.calculateLayout(payload, [
62
- arraybufferWithNodesEdges,
63
- ])];
64
- case 1:
65
- _c = __read.apply(void 0, [_d.sent(), 1]), positions = _c[0];
66
- return [2 /*return*/, positions];
67
- }
37
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
+ if (this.running)
39
+ return this;
40
+ this.running = true;
41
+ // Payload should include nodes & edges(if needed).
42
+ const _b = this.layout.options, { onTick } = _b, rest = tslib_1.__rest(_b, ["onTick"]);
43
+ const noFunctionOptions = {};
44
+ Object.keys(rest).forEach((name) => {
45
+ if (!(0, util_1.isFunction)(rest[name]))
46
+ noFunctionOptions[name] = rest[name];
68
47
  });
48
+ const payload = {
49
+ layout: {
50
+ id: this.layout.id,
51
+ options: noFunctionOptions,
52
+ iterations: (_a = this.options) === null || _a === void 0 ? void 0 : _a.iterations,
53
+ },
54
+ nodes: this.graph.getAllNodes(),
55
+ edges: this.graph.getAllEdges(),
56
+ };
57
+ /**
58
+ * TODO: Convert graph object to linear memory(e.g. csr, adjacency matrix), then transfer the ownership to worker.
59
+ * @example
60
+ * const arraybufferWithNodesEdges = graphToByteArrays(this.graph); // Float32Array
61
+ */
62
+ const arraybufferWithNodesEdges = new Float32Array([0]);
63
+ // TODO: Support transferables.
64
+ // @see https://www.npmjs.com/package/@naoak/workerize-transferable
65
+ // setupTransferableMethodsOnMain(this.worker, {
66
+ // calculateLayout: {
67
+ // // pick a transferable object from the method parameters
68
+ // pickTransferablesFromParams: (params) => [params[1].buffer],
69
+ // },
70
+ // });
71
+ const [positions] = yield this.proxy.calculateLayout(payload, [
72
+ arraybufferWithNodesEdges,
73
+ ]);
74
+ return positions;
69
75
  });
70
- };
71
- Supervisor.prototype.stop = function () {
76
+ }
77
+ stop() {
72
78
  this.running = false;
73
79
  // trigger `layout.stop()` if needed
74
80
  this.proxy.stopLayout();
75
81
  return this;
76
- };
77
- Supervisor.prototype.kill = function () {
82
+ }
83
+ kill() {
78
84
  // allow the GC to collect wrapper port
79
85
  // @see https://github.com/GoogleChromeLabs/comlink#comlinkreleaseproxy
80
86
  this.proxy[Comlink.releaseProxy]();
81
87
  // TODO: unbind listeners on graph.
82
88
  // TODO: release attached memory
83
- };
84
- Supervisor.prototype.isRunning = function () {
89
+ }
90
+ isRunning() {
85
91
  return this.running;
86
- };
87
- return Supervisor;
88
- }(EventEmitter));
89
- export { Supervisor };
92
+ }
93
+ }
94
+ exports.Supervisor = Supervisor;
90
95
  //# sourceMappingURL=supervisor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":";AAAA,aAAa;AACb,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsBxC;;;;;;;;;GASG;AACH;IAAgC,8BAAY;IAW1C,oBACU,KAAsB,EACtB,MAAmB,EACnB,OAAoC;QAH9C,YAKE,iBAAO,SAGR;QAPS,WAAK,GAAL,KAAK,CAAiB;QACtB,YAAM,GAAN,MAAM,CAAa;QACnB,aAAO,GAAP,OAAO,CAA6B;QAI5C,KAAI,CAAC,WAAW,EAAE,CAAC;;IACrB,CAAC;IAED,gCAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI;QACvB,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CACxE,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IAEK,4BAAO,GAAb;;;;;;;wBACE,IAAI,IAAI,CAAC,OAAO;4BAAE,sBAAO,IAAI,EAAC;wBAE9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBAGd,KAAsB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAvC,MAAM,YAAA,EAAK,IAAI,cAAjB,UAAmB,CAAF,CAAyB;wBAC1C,iBAAiB,GAAQ,EAAE,CAAC;wBAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI;4BAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;wBACG,OAAO,GAAG;4BACd,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;gCAClB,OAAO,EAAE,iBAAiB;gCAC1B,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU;6BACrC;4BACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;4BAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;yBAChC,CAAC;wBAOI,yBAAyB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAWpC,qBAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE;gCAC5D,yBAAyB;6BAC1B,CAAC,EAAA;;wBAFI,KAAA,sBAAc,SAElB,KAAA,EAFK,SAAS,QAAA;wBAIhB,sBAAO,SAAS,EAAC;;;;KAClB;IAED,yBAAI,GAAJ;QACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,oCAAoC;QACpC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAI,GAAJ;QACE,uCAAuC;QACvC,uEAAuE;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAEnC,mCAAmC;QAEnC,gCAAgC;IAClC,CAAC;IAED,8BAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACH,iBAAC;AAAD,CAAC,AAnGD,CAAgC,YAAY,GAmG3C"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../src/supervisor.ts"],"names":[],"mappings":";;;;AAAA,gFAA+C;AAE/C,qCAAwC;AACxC,yDAAmC;AAuBnC;;;;;;;;;GASG;AACH,MAAa,UAAW,SAAQ,uBAAY;IAW1C,YACU,KAAsB,EACtB,MAAmB,EACnB,OAAoC;QAE5C,KAAK,EAAE,CAAC;QAJA,UAAK,GAAL,KAAK,CAAiB;QACtB,WAAM,GAAN,MAAM,CAAa;QACnB,YAAO,GAAP,OAAO,CAA6B;QAI5C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI;QACvB,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CACxE,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IAEK,OAAO;;;YACX,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAE9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,mDAAmD;YACnD,MAAM,KAAsB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAzC,EAAE,MAAM,OAAiC,EAA5B,IAAI,sBAAjB,UAAmB,CAAsB,CAAC;YAChD,MAAM,iBAAiB,GAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAI,CAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;oBAClB,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU;iBACrC;gBACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;aAChC,CAAC;YAEF;;;;eAIG;YACH,MAAM,yBAAyB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExD,+BAA+B;YAC/B,mEAAmE;YACnE,gDAAgD;YAChD,uBAAuB;YACvB,+DAA+D;YAC/D,mEAAmE;YACnE,OAAO;YACP,MAAM;YAEN,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC5D,yBAAyB;aAC1B,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC;;KAClB;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,oCAAoC;QACpC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,uCAAuC;QACvC,uEAAuE;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAEnC,mCAAmC;QAEnC,gCAAgC;IAClC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAnGD,gCAmGC"}