@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,4 +1,3 @@
1
- import { __read, __spreadArray } from "tslib";
2
1
  import { addBorderNode, addDummyNode } from './util';
3
2
  /*
4
3
  * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs,
@@ -23,27 +22,27 @@ import { addBorderNode, addDummyNode } from './util';
23
22
  * The nesting graph idea comes from Sander, "Layout of Compound Directed
24
23
  * Graphs."
25
24
  */
26
- var run = function (g) {
27
- var root = addDummyNode(g, 'root', {}, '_root');
28
- var depths = treeDepths(g);
29
- var maxDepth = Math.max.apply(Math, __spreadArray([], __read(Object.values(depths))));
25
+ const run = (g) => {
26
+ const root = addDummyNode(g, 'root', {}, '_root');
27
+ const depths = treeDepths(g);
28
+ let maxDepth = Math.max(...Object.values(depths));
30
29
  if (Math.abs(maxDepth) === Infinity) {
31
30
  maxDepth = 1;
32
31
  }
33
- var height = maxDepth - 1; // Note: depths is an Object not an array
34
- var nodeSep = 2 * height + 1;
32
+ const height = maxDepth - 1; // Note: depths is an Object not an array
33
+ const nodeSep = 2 * height + 1;
35
34
  // g.graph().nestingRoot = root;
36
35
  // Multiply minlen by nodeSep to align nodes on non-border ranks.
37
- g.getAllEdges().forEach(function (e) {
36
+ g.getAllEdges().forEach((e) => {
38
37
  e.data.minlen *= nodeSep;
39
38
  });
40
39
  // Calculate a weight that is sufficient to keep subgraphs vertically compact
41
- var weight = sumWeights(g) + 1;
40
+ const weight = sumWeights(g) + 1;
42
41
  // Create border nodes and link them up
43
42
  // g.children()?.forEach((child) => {
44
43
  // dfs(g, root, nodeSep, weight, height, depths, child);
45
44
  // });
46
- g.getRoots().forEach(function (child) {
45
+ g.getRoots().forEach((child) => {
47
46
  dfs(g, root, nodeSep, weight, height, depths, child.id);
48
47
  });
49
48
  // Save the multiplier for node layers for later removal of empty border
@@ -54,13 +53,13 @@ var run = function (g) {
54
53
  nodeRankFactor: nodeSep,
55
54
  };
56
55
  };
57
- var dfs = function (g, root, nodeSep, weight, height, depths, v) {
58
- var children = g.getChildren(v);
56
+ const dfs = (g, root, nodeSep, weight, height, depths, v) => {
57
+ const children = g.getChildren(v);
59
58
  if (!(children === null || children === void 0 ? void 0 : children.length)) {
60
59
  if (v !== root) {
61
60
  // g.setEdge(root, v, { weight: 0, minlen: nodeSep });
62
61
  g.addEdge({
63
- id: "e" + Math.random(),
62
+ id: `e${Math.random()}`,
64
63
  source: root,
65
64
  target: v,
66
65
  data: { weight: 0, minlen: nodeSep },
@@ -68,39 +67,39 @@ var dfs = function (g, root, nodeSep, weight, height, depths, v) {
68
67
  }
69
68
  return;
70
69
  }
71
- var top = addBorderNode(g, '_bt');
72
- var bottom = addBorderNode(g, '_bb');
73
- var label = g.getNode(v);
70
+ const top = addBorderNode(g, '_bt');
71
+ const bottom = addBorderNode(g, '_bb');
72
+ const label = g.getNode(v);
74
73
  g.setParent(top, v);
75
74
  label.data.borderTop = top;
76
75
  g.setParent(bottom, v);
77
76
  label.data.borderBottom = bottom;
78
- children === null || children === void 0 ? void 0 : children.forEach(function (childNode) {
77
+ children === null || children === void 0 ? void 0 : children.forEach((childNode) => {
79
78
  dfs(g, root, nodeSep, weight, height, depths, childNode.id);
80
- var childTop = childNode.data.borderTop
79
+ const childTop = childNode.data.borderTop
81
80
  ? childNode.data.borderTop
82
81
  : childNode.id;
83
- var childBottom = childNode.data.borderBottom
82
+ const childBottom = childNode.data.borderBottom
84
83
  ? childNode.data.borderBottom
85
84
  : childNode.id;
86
- var thisWeight = childNode.data.borderTop ? weight : 2 * weight;
87
- var minlen = childTop !== childBottom ? 1 : height - depths[v] + 1;
85
+ const thisWeight = childNode.data.borderTop ? weight : 2 * weight;
86
+ const minlen = childTop !== childBottom ? 1 : height - depths[v] + 1;
88
87
  g.addEdge({
89
- id: "e" + Math.random(),
88
+ id: `e${Math.random()}`,
90
89
  source: top,
91
90
  target: childTop,
92
91
  data: {
93
- minlen: minlen,
92
+ minlen,
94
93
  weight: thisWeight,
95
94
  nestingEdge: true,
96
95
  },
97
96
  });
98
97
  g.addEdge({
99
- id: "e" + Math.random(),
98
+ id: `e${Math.random()}`,
100
99
  source: childBottom,
101
100
  target: bottom,
102
101
  data: {
103
- minlen: minlen,
102
+ minlen,
104
103
  weight: thisWeight,
105
104
  nestingEdge: true,
106
105
  },
@@ -108,7 +107,7 @@ var dfs = function (g, root, nodeSep, weight, height, depths, v) {
108
107
  });
109
108
  if (!g.getParent(v)) {
110
109
  g.addEdge({
111
- id: "e" + Math.random(),
110
+ id: `e${Math.random()}`,
112
111
  source: root,
113
112
  target: top,
114
113
  data: {
@@ -118,32 +117,32 @@ var dfs = function (g, root, nodeSep, weight, height, depths, v) {
118
117
  });
119
118
  }
120
119
  };
121
- var treeDepths = function (g) {
122
- var depths = {};
123
- var dfs = function (v, depth) {
124
- var children = g.getChildren(v);
125
- children === null || children === void 0 ? void 0 : children.forEach(function (child) { return dfs(child.id, depth + 1); });
120
+ const treeDepths = (g) => {
121
+ const depths = {};
122
+ const dfs = (v, depth) => {
123
+ const children = g.getChildren(v);
124
+ children === null || children === void 0 ? void 0 : children.forEach((child) => dfs(child.id, depth + 1));
126
125
  depths[v] = depth;
127
126
  };
128
127
  // g.children()?.forEach((v) => dfs(v, 1));
129
- g.getRoots().forEach(function (v) { return dfs(v.id, 1); });
128
+ g.getRoots().forEach((v) => dfs(v.id, 1));
130
129
  return depths;
131
130
  };
132
- var sumWeights = function (g) {
133
- var result = 0;
134
- g.getAllEdges().forEach(function (e) {
131
+ const sumWeights = (g) => {
132
+ let result = 0;
133
+ g.getAllEdges().forEach((e) => {
135
134
  result += e.data.weight;
136
135
  });
137
136
  return result;
138
137
  };
139
- var cleanup = function (g, nestingRoot) {
138
+ const cleanup = (g, nestingRoot) => {
140
139
  // const graphLabel = g.graph();
141
140
  // graphLabel.nestingRoot && g.removeNode(graphLabel.nestingRoot);
142
141
  // delete graphLabel.nestingRoot;
143
142
  if (nestingRoot) {
144
143
  g.removeNode(nestingRoot);
145
144
  }
146
- g.getAllEdges().forEach(function (e) {
145
+ g.getAllEdges().forEach((e) => {
147
146
  if (e.data.nestingEdge) {
148
147
  g.removeEdge(e.id);
149
148
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nesting-graph.js","sourceRoot":"","sources":["../../src/antv-dagre/nesting-graph.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ID } from "@antv/graphlib";
2
- import { Graph as IGraph } from "../types";
1
+ import { ID } from '@antv/graphlib';
2
+ import { Graph as IGraph } from '../types';
3
3
  declare const run: (g: IGraph, dummyChains: ID[]) => void;
4
4
  declare const undo: (g: IGraph, dummyChains: ID[]) => void;
5
5
  export { run, undo };
@@ -1,4 +1,4 @@
1
- import { addDummyNode } from "./util";
1
+ import { addDummyNode } from './util';
2
2
  /*
3
3
  * Breaks any long edges in the graph into short segments that span 1 layer
4
4
  * each. This operation is undoable with the denormalize function.
@@ -15,23 +15,23 @@ import { addDummyNode } from "./util";
15
15
  * 3. The graph is augmented with a "dummyChains" attribute which contains
16
16
  * the first dummy in each chain of dummy nodes produced.
17
17
  */
18
- var DUMMY_NODE_EDGE = "edge";
19
- var DUMMY_NODE_EDGE_LABEL = "edge-label";
20
- var run = function (g, dummyChains) {
21
- g.getAllEdges().forEach(function (edge) { return normalizeEdge(g, edge, dummyChains); });
18
+ const DUMMY_NODE_EDGE = 'edge';
19
+ const DUMMY_NODE_EDGE_LABEL = 'edge-label';
20
+ const run = (g, dummyChains) => {
21
+ g.getAllEdges().forEach((edge) => normalizeEdge(g, edge, dummyChains));
22
22
  };
23
- var normalizeEdge = function (g, e, dummyChains) {
24
- var v = e.source;
25
- var vRank = g.getNode(v).data.rank;
26
- var w = e.target;
27
- var wRank = g.getNode(w).data.rank;
28
- var labelRank = e.data.labelRank;
23
+ const normalizeEdge = (g, e, dummyChains) => {
24
+ let v = e.source;
25
+ let vRank = g.getNode(v).data.rank;
26
+ const w = e.target;
27
+ const wRank = g.getNode(w).data.rank;
28
+ const labelRank = e.data.labelRank;
29
29
  if (wRank === vRank + 1)
30
30
  return;
31
31
  g.removeEdge(e.id);
32
- var dummy;
33
- var nodeData;
34
- var i;
32
+ let dummy;
33
+ let nodeData;
34
+ let i;
35
35
  for (i = 0, ++vRank; vRank < wRank; ++i, ++vRank) {
36
36
  e.data.points = [];
37
37
  nodeData = {
@@ -40,7 +40,7 @@ var normalizeEdge = function (g, e, dummyChains) {
40
40
  height: 0,
41
41
  rank: vRank,
42
42
  };
43
- dummy = addDummyNode(g, DUMMY_NODE_EDGE, nodeData, "_d");
43
+ dummy = addDummyNode(g, DUMMY_NODE_EDGE, nodeData, '_d');
44
44
  if (vRank === labelRank) {
45
45
  nodeData.width = e.data.width;
46
46
  nodeData.height = e.data.height;
@@ -48,7 +48,7 @@ var normalizeEdge = function (g, e, dummyChains) {
48
48
  nodeData.labelpos = e.data.labelpos;
49
49
  }
50
50
  g.addEdge({
51
- id: "e" + Math.random(),
51
+ id: `e${Math.random()}`,
52
52
  source: v,
53
53
  target: dummy,
54
54
  data: { weight: e.data.weight },
@@ -59,23 +59,23 @@ var normalizeEdge = function (g, e, dummyChains) {
59
59
  v = dummy;
60
60
  }
61
61
  g.addEdge({
62
- id: "e" + Math.random(),
62
+ id: `e${Math.random()}`,
63
63
  source: v,
64
64
  target: w,
65
65
  data: { weight: e.data.weight },
66
66
  });
67
67
  };
68
- var undo = function (g, dummyChains) {
69
- dummyChains.forEach(function (v) {
70
- var node = g.getNode(v);
71
- var data = node.data;
72
- var originalEdge = data.originalEdge;
73
- var w;
68
+ const undo = (g, dummyChains) => {
69
+ dummyChains.forEach((v) => {
70
+ let node = g.getNode(v);
71
+ const { data } = node;
72
+ const originalEdge = data.originalEdge;
73
+ let w;
74
74
  // Restore original edge.
75
75
  if (originalEdge) {
76
76
  g.addEdge(originalEdge);
77
77
  }
78
- var currentV = v;
78
+ let currentV = v;
79
79
  while (node.data.dummy) {
80
80
  w = g.getSuccessors(currentV)[0];
81
81
  g.removeNode(currentV);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/antv-dagre/normalize.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- export var addSubgraphConstraints = function (g, cg, vs) {
2
- var prev = {};
3
- var rootPrev;
4
- vs === null || vs === void 0 ? void 0 : vs.forEach(function (v) {
5
- var child = g.getParent(v);
6
- var parent;
7
- var prevChild;
1
+ export const addSubgraphConstraints = (g, cg, vs) => {
2
+ const prev = {};
3
+ let rootPrev;
4
+ vs === null || vs === void 0 ? void 0 : vs.forEach((v) => {
5
+ let child = g.getParent(v);
6
+ let parent;
7
+ let prevChild;
8
8
  while (child) {
9
9
  parent = g.getParent(child.id);
10
10
  if (parent) {
@@ -28,9 +28,9 @@ export var addSubgraphConstraints = function (g, cg, vs) {
28
28
  data: {},
29
29
  });
30
30
  }
31
- if (!cg.hasEdge("e" + prevChild + "-" + child.id)) {
31
+ if (!cg.hasEdge(`e${prevChild}-${child.id}`)) {
32
32
  cg.addEdge({
33
- id: "e" + prevChild + "-" + child.id,
33
+ id: `e${prevChild}-${child.id}`,
34
34
  source: prevChild,
35
35
  target: child.id,
36
36
  data: {},
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-subgraph-constraints.js","sourceRoot":"","sources":["../../../src/antv-dagre/order/add-subgraph-constraints.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAQ,EAAE,EAAS,EAAE,EAAQ,EAAE,EAAE;IACtE,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,IAAI,QAAY,CAAC;IAEjB,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC;QACX,IAAI,SAAa,CAAC;QAClB,OAAO,KAAK,EAAE;YACZ,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,MAAM,EAAE;gBACV,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;aAC5B;iBAAM;gBACL,SAAS,GAAG,QAAQ,CAAC;gBACrB,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;aACrB;YACD,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE,EAAE;gBACvC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC1B,EAAE,CAAC,OAAO,CAAC;wBACT,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,EAAE;qBACT,CAAC,CAAC;iBACJ;gBACD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;oBACzB,EAAE,CAAC,OAAO,CAAC;wBACT,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,EAAE;qBACT,CAAC,CAAC;iBACJ;gBACD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE;oBAC5C,EAAE,CAAC,OAAO,CAAC;wBACT,EAAE,EAAE,IAAI,SAAS,IAAI,KAAK,CAAC,EAAE,EAAE;wBAC/B,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,KAAK,CAAC,EAAE;wBAChB,IAAI,EAAE,EAAE;qBACT,CAAC,CAAC;iBACJ;gBACD,OAAO;aACR;YACD,KAAK,GAAG,MAAM,CAAC;SAChB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { ID } from "@antv/graphlib";
2
- import { Graph } from "../../types";
1
+ import { ID } from '@antv/graphlib';
2
+ import { Graph } from '../../types';
3
3
  /**
4
4
  * TODO: The median method consistently performs better than the barycenter method and has a slight theoretical advantage
5
5
  */
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * TODO: The median method consistently performs better than the barycenter method and has a slight theoretical advantage
3
3
  */
4
- export var barycenter = function (g, movable) {
5
- return movable.map(function (v) {
6
- var inV = g.getRelatedEdges(v, "in");
4
+ export const barycenter = (g, movable) => {
5
+ return movable.map((v) => {
6
+ const inV = g.getRelatedEdges(v, 'in');
7
7
  if (!(inV === null || inV === void 0 ? void 0 : inV.length)) {
8
- return { v: v };
8
+ return { v };
9
9
  }
10
- var result = { sum: 0, weight: 0 };
11
- inV === null || inV === void 0 ? void 0 : inV.forEach(function (e) {
12
- var nodeU = g.getNode(e.source);
10
+ const result = { sum: 0, weight: 0 };
11
+ inV === null || inV === void 0 ? void 0 : inV.forEach((e) => {
12
+ const nodeU = g.getNode(e.source);
13
13
  result.sum += e.data.weight * nodeU.data.order;
14
14
  result.weight += e.data.weight;
15
15
  });
16
16
  return {
17
- v: v,
17
+ v,
18
18
  barycenter: result.sum / result.weight,
19
19
  weight: result.weight,
20
20
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barycenter.js","sourceRoot":"","sources":["../../../src/antv-dagre/order/barycenter.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAQ,EAAE,OAAa,EAAE,EAAE;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA,EAAE;YAChB,OAAO,EAAE,CAAC,EAAE,CAAC;SACd;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACrC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAM,CAAC;YACjD,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO;YACL,CAAC;YACD,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM;YACtC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
- import { __assign } from "tslib";
2
1
  import { Graph } from '@antv/graphlib';
3
2
  /*
4
3
  * Constructs a graph that can be used to sort a layer of nodes. The graph will
@@ -30,9 +29,9 @@ import { Graph } from '@antv/graphlib';
30
29
  * 5. The weights for copied edges are aggregated as need, since the output
31
30
  * graph is not a multi-graph.
32
31
  */
33
- export var buildLayerGraph = function (g, rank, direction) {
34
- var root = createRootNode(g);
35
- var result = new Graph({
32
+ export const buildLayerGraph = (g, rank, direction) => {
33
+ const root = createRootNode(g);
34
+ const result = new Graph({
36
35
  tree: [
37
36
  {
38
37
  id: root,
@@ -41,30 +40,27 @@ export var buildLayerGraph = function (g, rank, direction) {
41
40
  },
42
41
  ],
43
42
  });
44
- g.getAllNodes().forEach(function (v) {
45
- var parent = g.getParent(v.id);
43
+ g.getAllNodes().forEach((v) => {
44
+ const parent = g.getParent(v.id);
46
45
  if (v.data.rank === rank ||
47
46
  (v.data.minRank <= rank && rank <= v.data.maxRank)) {
48
47
  if (!result.hasNode(v.id)) {
49
- result.addNode(__assign({}, v));
48
+ result.addNode(Object.assign({}, v));
50
49
  }
51
50
  if ((parent === null || parent === void 0 ? void 0 : parent.id) && !result.hasNode(parent === null || parent === void 0 ? void 0 : parent.id)) {
52
- result.addNode(__assign({}, parent));
51
+ result.addNode(Object.assign({}, parent));
53
52
  }
54
53
  result.setParent(v.id, (parent === null || parent === void 0 ? void 0 : parent.id) || root);
55
54
  // This assumes we have only short edges!
56
- g.getRelatedEdges(v.id, direction).forEach(function (e) {
57
- var u = e.source === v.id ? e.target : e.source;
55
+ g.getRelatedEdges(v.id, direction).forEach((e) => {
56
+ const u = e.source === v.id ? e.target : e.source;
58
57
  if (!result.hasNode(u)) {
59
- result.addNode(__assign({}, g.getNode(u)));
58
+ result.addNode(Object.assign({}, g.getNode(u)));
60
59
  }
61
- var edge = result
60
+ const edge = result
62
61
  .getRelatedEdges(u, 'out')
63
- .find(function (_a) {
64
- var target = _a.target;
65
- return target === v.id;
66
- });
67
- var weight = edge !== undefined ? edge.data.weight : 0;
62
+ .find(({ target }) => target === v.id);
63
+ const weight = edge !== undefined ? edge.data.weight : 0;
68
64
  if (!edge) {
69
65
  result.addEdge({
70
66
  id: e.id,
@@ -76,20 +72,20 @@ export var buildLayerGraph = function (g, rank, direction) {
76
72
  });
77
73
  }
78
74
  else {
79
- result.updateEdgeData(edge.id, __assign(__assign({}, edge.data), { weight: e.data.weight + weight }));
75
+ result.updateEdgeData(edge.id, Object.assign(Object.assign({}, edge.data), { weight: e.data.weight + weight }));
80
76
  }
81
77
  });
82
78
  // console.log(v);
83
79
  if (v.data.hasOwnProperty('minRank')) {
84
- result.updateNodeData(v.id, __assign(__assign({}, v.data), { borderLeft: v.data.borderLeft[rank], borderRight: v.data.borderRight[rank] }));
80
+ result.updateNodeData(v.id, Object.assign(Object.assign({}, v.data), { borderLeft: v.data.borderLeft[rank], borderRight: v.data.borderRight[rank] }));
85
81
  }
86
82
  }
87
83
  });
88
84
  return result;
89
85
  };
90
- var createRootNode = function (g) {
91
- var v;
92
- while (g.hasNode((v = "_root" + Math.random())))
86
+ const createRootNode = (g) => {
87
+ let v;
88
+ while (g.hasNode((v = `_root${Math.random()}`)))
93
89
  ;
94
90
  return v;
95
91
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-layer-graph.js","sourceRoot":"","sources":["../../../src/antv-dagre/order/build-layer-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ID } from '@antv/graphlib';
2
+ import { Graph } from '../../types';
3
+ export declare const crossCount: (g: Graph, layering: ID[][]) => number;
@@ -14,33 +14,33 @@
14
14
  *
15
15
  * This algorithm is derived from Barth, et al., "Bilayer Cross Counting."
16
16
  */
17
- import { zipObject } from "../util";
18
- var twoLayerCrossCount = function (g, northLayer, southLayer) {
17
+ import { zipObject } from '../util';
18
+ const twoLayerCrossCount = (g, northLayer, southLayer) => {
19
19
  // Sort all of the edges between the north and south layers by their position
20
20
  // in the north layer and then the south. Map these edges to the position of
21
21
  // their head in the south layer.
22
- var southPos = zipObject(southLayer, southLayer.map(function (v, i) { return i; }));
23
- var unflat = northLayer.map(function (v) {
24
- var unsort = g.getRelatedEdges(v, "out").map(function (e) {
22
+ const southPos = zipObject(southLayer, southLayer.map((v, i) => i));
23
+ const unflat = northLayer.map((v) => {
24
+ const unsort = g.getRelatedEdges(v, 'out').map((e) => {
25
25
  return { pos: southPos[e.target] || 0, weight: e.data.weight };
26
26
  });
27
- return unsort === null || unsort === void 0 ? void 0 : unsort.sort(function (a, b) { return a.pos - b.pos; });
27
+ return unsort === null || unsort === void 0 ? void 0 : unsort.sort((a, b) => a.pos - b.pos);
28
28
  });
29
- var southEntries = unflat.flat().filter(function (entry) { return entry !== undefined; });
29
+ const southEntries = unflat.flat().filter((entry) => entry !== undefined);
30
30
  // Build the accumulator tree
31
- var firstIndex = 1;
31
+ let firstIndex = 1;
32
32
  while (firstIndex < southLayer.length)
33
33
  firstIndex <<= 1;
34
- var treeSize = 2 * firstIndex - 1;
34
+ const treeSize = 2 * firstIndex - 1;
35
35
  firstIndex -= 1;
36
- var tree = Array(treeSize).fill(0, 0, treeSize);
36
+ const tree = Array(treeSize).fill(0, 0, treeSize);
37
37
  // Calculate the weighted crossings
38
- var cc = 0;
39
- southEntries === null || southEntries === void 0 ? void 0 : southEntries.forEach(function (entry) {
38
+ let cc = 0;
39
+ southEntries === null || southEntries === void 0 ? void 0 : southEntries.forEach((entry) => {
40
40
  if (entry) {
41
- var index = entry.pos + firstIndex;
41
+ let index = entry.pos + firstIndex;
42
42
  tree[index] += entry.weight;
43
- var weightSum = 0;
43
+ let weightSum = 0;
44
44
  while (index > 0) {
45
45
  if (index % 2) {
46
46
  weightSum += tree[index + 1];
@@ -53,9 +53,9 @@ var twoLayerCrossCount = function (g, northLayer, southLayer) {
53
53
  });
54
54
  return cc;
55
55
  };
56
- export var crossCount = function (g, layering) {
57
- var cc = 0;
58
- for (var i = 1; i < (layering === null || layering === void 0 ? void 0 : layering.length); i += 1) {
56
+ export const crossCount = (g, layering) => {
57
+ let cc = 0;
58
+ for (let i = 1; i < (layering === null || layering === void 0 ? void 0 : layering.length); i += 1) {
59
59
  cc += twoLayerCrossCount(g, layering[i - 1], layering[i]);
60
60
  }
61
61
  return cc;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-count.js","sourceRoot":"","sources":["../../../src/antv-dagre/order/cross-count.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { Graph as IGraph } from "../../types";
1
+ import { Graph as IGraph } from '../../types';
2
2
  export declare const order: (g: IGraph, keepNodeOrder?: boolean) => void;