@antv/layout 1.2.12 → 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 -541
  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 -74
  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/4161e9d58bae8f39711a.worker.js +0 -2
  184. package/dist/4161e9d58bae8f39711a.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,12 +1,15 @@
1
- import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
2
- import { isFunction, isNumber, isObject } from '@antv/util';
3
- import { Graph as GraphCore } from '@antv/graphlib';
4
- import { isArray, getLayoutBBox, graphTreeDfs } from './util';
5
- import { handleSingleNodeGraph } from './util/common';
6
- import { MDSLayout } from './mds';
7
- import { ForceLayout } from './force';
8
- import { ConcentricLayout } from './concentric';
9
- var FORCE_LAYOUT_TYPE_MAP = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComboCombinedLayout = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphlib_1 = require("@antv/graphlib");
6
+ const util_1 = require("@antv/util");
7
+ const concentric_1 = require("./concentric");
8
+ const force_1 = require("./force");
9
+ const mds_1 = require("./mds");
10
+ const util_2 = require("./util");
11
+ const common_1 = require("./util/common");
12
+ const FORCE_LAYOUT_TYPE_MAP = {
10
13
  gForce: true,
11
14
  force2: true,
12
15
  d3force: true,
@@ -15,7 +18,7 @@ var FORCE_LAYOUT_TYPE_MAP = {
15
18
  force: true,
16
19
  'graphin-force': true,
17
20
  };
18
- var DEFAULTS_LAYOUT_OPTIONS = {
21
+ const DEFAULTS_LAYOUT_OPTIONS = {
19
22
  center: [0, 0],
20
23
  comboPadding: 10,
21
24
  treeKey: 'combo',
@@ -35,232 +38,213 @@ var DEFAULTS_LAYOUT_OPTIONS = {
35
38
  * // If you want to assign the positions directly to the nodes, use assign method.
36
39
  * await layout.assign(graph, { radius: 20 });
37
40
  */
38
- var ComboCombinedLayout = /** @class */ (function () {
39
- function ComboCombinedLayout(options) {
40
- if (options === void 0) { options = {}; }
41
+ class ComboCombinedLayout {
42
+ constructor(options = {}) {
41
43
  this.options = options;
42
44
  this.id = 'comboCombined';
43
- this.options = __assign(__assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
45
+ this.options = Object.assign(Object.assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
44
46
  }
45
47
  /**
46
48
  * Return the positions of nodes and edges(if needed).
47
49
  */
48
- ComboCombinedLayout.prototype.execute = function (graph, options) {
49
- return __awaiter(this, void 0, void 0, function () {
50
- return __generator(this, function (_a) {
51
- return [2 /*return*/, this.genericComboCombinedLayout(false, graph, options)];
52
- });
50
+ execute(graph, options) {
51
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
+ return this.genericComboCombinedLayout(false, graph, options);
53
53
  });
54
- };
54
+ }
55
55
  /**
56
56
  * To directly assign the positions to the nodes.
57
57
  */
58
- ComboCombinedLayout.prototype.assign = function (graph, options) {
59
- return __awaiter(this, void 0, void 0, function () {
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0: return [4 /*yield*/, this.genericComboCombinedLayout(true, graph, options)];
63
- case 1:
64
- _a.sent();
65
- return [2 /*return*/];
58
+ assign(graph, options) {
59
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
+ yield this.genericComboCombinedLayout(true, graph, options);
61
+ });
62
+ }
63
+ genericComboCombinedLayout(assign, graph, options) {
64
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
+ const mergedOptions = this.initVals(Object.assign(Object.assign({}, this.options), options));
66
+ const { center, treeKey, outerLayout: propsOuterLayout } = mergedOptions;
67
+ const nodes = graph
68
+ .getAllNodes()
69
+ .filter((node) => !node.data._isCombo);
70
+ const combos = graph
71
+ .getAllNodes()
72
+ .filter((node) => node.data._isCombo);
73
+ const edges = graph.getAllEdges();
74
+ const n = nodes === null || nodes === void 0 ? void 0 : nodes.length;
75
+ if (!n || n === 1) {
76
+ return (0, common_1.handleSingleNodeGraph)(graph, assign, center);
77
+ }
78
+ // output nodes
79
+ const layoutNodes = [];
80
+ const nodeMap = new Map();
81
+ nodes.forEach((node) => {
82
+ nodeMap.set(node.id, node);
83
+ });
84
+ const comboMap = new Map();
85
+ combos.forEach((combo) => {
86
+ comboMap.set(combo.id, combo);
87
+ });
88
+ // each one in comboNodes is a combo contains the size and child nodes
89
+ // comboNodes ncludes the node who has no parent combo
90
+ const comboNodes = new Map();
91
+ // the inner layouts, the result positions are stored in comboNodes and their child nodes
92
+ const innerGraphLayoutPromises = this.getInnerGraphs(graph, treeKey, nodeMap, comboMap, edges, mergedOptions, comboNodes);
93
+ yield Promise.all(innerGraphLayoutPromises);
94
+ const outerNodeIds = new Map();
95
+ const outerLayoutNodes = [];
96
+ const nodeAncestorIdMap = new Map();
97
+ let allHaveNoPosition = true;
98
+ graph.getRoots(treeKey).forEach((root) => {
99
+ const combo = comboNodes.get(root.id);
100
+ const cacheCombo = comboMap.get(root.id) || nodeMap.get(root.id);
101
+ const comboLayoutNode = {
102
+ id: root.id,
103
+ data: Object.assign(Object.assign({}, root.data), { x: combo.data.x || cacheCombo.data.x, y: combo.data.y || cacheCombo.data.y, fx: combo.data.fx || cacheCombo.data.fx, fy: combo.data.fy || cacheCombo.data.fy, mass: combo.data.mass || cacheCombo.data.mass, size: combo.data.size }),
104
+ };
105
+ outerLayoutNodes.push(comboLayoutNode);
106
+ outerNodeIds.set(root.id, true);
107
+ if (!isNaN(comboLayoutNode.data.x) &&
108
+ comboLayoutNode.data.x !== 0 &&
109
+ !isNaN(comboLayoutNode.data.y) &&
110
+ comboLayoutNode.data.y !== 0) {
111
+ allHaveNoPosition = false;
66
112
  }
113
+ else {
114
+ comboLayoutNode.data.x = Math.random() * 100;
115
+ comboLayoutNode.data.y = Math.random() * 100;
116
+ }
117
+ (0, util_2.graphTreeDfs)(graph, [root], (child) => {
118
+ if (child.id !== root.id)
119
+ nodeAncestorIdMap.set(child.id, root.id);
120
+ }, 'TB', treeKey);
67
121
  });
68
- });
69
- };
70
- ComboCombinedLayout.prototype.genericComboCombinedLayout = function (assign, graph, options) {
71
- return __awaiter(this, void 0, void 0, function () {
72
- var mergedOptions, center, treeKey, propsOuterLayout, nodes, combos, edges, n, layoutNodes, nodeMap, comboMap, comboNodes, innerGraphLayoutPromises, outerNodeIds, outerLayoutNodes, nodeAncestorIdMap, allHaveNoPosition, outerLayoutEdges, outerPositions, outerLayoutGraph, outerLayout, outerLayoutPreset, result;
73
- return __generator(this, function (_a) {
74
- switch (_a.label) {
75
- case 0:
76
- mergedOptions = this.initVals(__assign(__assign({}, this.options), options));
77
- center = mergedOptions.center, treeKey = mergedOptions.treeKey, propsOuterLayout = mergedOptions.outerLayout;
78
- nodes = graph
79
- .getAllNodes()
80
- .filter(function (node) { return !node.data._isCombo; });
81
- combos = graph
82
- .getAllNodes()
83
- .filter(function (node) { return node.data._isCombo; });
84
- edges = graph.getAllEdges();
85
- n = nodes === null || nodes === void 0 ? void 0 : nodes.length;
86
- if (!n || n === 1) {
87
- return [2 /*return*/, handleSingleNodeGraph(graph, assign, center)];
122
+ const outerLayoutEdges = [];
123
+ edges.forEach((edge) => {
124
+ const sourceAncestorId = nodeAncestorIdMap.get(edge.source) || edge.source;
125
+ const targetAncestorId = nodeAncestorIdMap.get(edge.target) || edge.target;
126
+ // create an edge for outer layout if both source and target's ancestor combo is in outer layout nodes
127
+ if (sourceAncestorId !== targetAncestorId &&
128
+ outerNodeIds.has(sourceAncestorId) &&
129
+ outerNodeIds.has(targetAncestorId)) {
130
+ outerLayoutEdges.push({
131
+ id: edge.id,
132
+ source: sourceAncestorId,
133
+ target: targetAncestorId,
134
+ data: {},
135
+ });
136
+ }
137
+ });
138
+ // 若有需要最外层的 combo 或节点,则对最外层执行力导向
139
+ let outerPositions;
140
+ if (outerLayoutNodes === null || outerLayoutNodes === void 0 ? void 0 : outerLayoutNodes.length) {
141
+ if (outerLayoutNodes.length === 1) {
142
+ outerLayoutNodes[0].data.x = center[0];
143
+ outerLayoutNodes[0].data.y = center[1];
144
+ }
145
+ else {
146
+ const outerLayoutGraph = new graphlib_1.Graph({
147
+ nodes: outerLayoutNodes,
148
+ edges: outerLayoutEdges,
149
+ });
150
+ const outerLayout = propsOuterLayout || new force_1.ForceLayout();
151
+ // preset the nodes if the outerLayout is a force family layout
152
+ if (allHaveNoPosition && FORCE_LAYOUT_TYPE_MAP[outerLayout.id]) {
153
+ const outerLayoutPreset = outerLayoutNodes.length < 100
154
+ ? new mds_1.MDSLayout()
155
+ : new concentric_1.ConcentricLayout();
156
+ yield outerLayoutPreset.assign(outerLayoutGraph);
157
+ }
158
+ outerPositions = yield outerLayout.execute(outerLayoutGraph, Object.assign({ center, kg: 5, preventOverlap: true, animate: false }, (outerLayout.id === 'force'
159
+ ? {
160
+ gravity: 1,
161
+ factor: 4,
162
+ linkDistance: (edge, source, target) => {
163
+ const sourceSize = Math.max(...source.data.size) || 32;
164
+ const targetSize = Math.max(...target.data.size) || 32;
165
+ return sourceSize / 2 + targetSize / 2 + 200;
166
+ },
88
167
  }
89
- layoutNodes = [];
90
- nodeMap = new Map();
91
- nodes.forEach(function (node) {
92
- nodeMap.set(node.id, node);
93
- });
94
- comboMap = new Map();
95
- combos.forEach(function (combo) {
96
- comboMap.set(combo.id, combo);
97
- });
98
- comboNodes = new Map();
99
- innerGraphLayoutPromises = this.getInnerGraphs(graph, treeKey, nodeMap, comboMap, edges, mergedOptions, comboNodes);
100
- return [4 /*yield*/, Promise.all(innerGraphLayoutPromises)];
101
- case 1:
102
- _a.sent();
103
- outerNodeIds = new Map();
104
- outerLayoutNodes = [];
105
- nodeAncestorIdMap = new Map();
106
- allHaveNoPosition = true;
107
- graph.getRoots(treeKey).forEach(function (root) {
108
- var combo = comboNodes.get(root.id);
109
- var cacheCombo = comboMap.get(root.id) || nodeMap.get(root.id);
110
- var comboLayoutNode = {
111
- id: root.id,
112
- data: __assign(__assign({}, root.data), { x: combo.data.x || cacheCombo.data.x, y: combo.data.y || cacheCombo.data.y, fx: combo.data.fx || cacheCombo.data.fx, fy: combo.data.fy || cacheCombo.data.fy, mass: combo.data.mass || cacheCombo.data.mass, size: combo.data.size }),
113
- };
114
- outerLayoutNodes.push(comboLayoutNode);
115
- outerNodeIds.set(root.id, true);
116
- if (!isNaN(comboLayoutNode.data.x) &&
117
- comboLayoutNode.data.x !== 0 &&
118
- !isNaN(comboLayoutNode.data.y) &&
119
- comboLayoutNode.data.y !== 0) {
120
- allHaveNoPosition = false;
121
- }
122
- else {
123
- comboLayoutNode.data.x = Math.random() * 100;
124
- comboLayoutNode.data.y = Math.random() * 100;
125
- }
126
- graphTreeDfs(graph, [root], function (child) {
127
- if (child.id !== root.id)
128
- nodeAncestorIdMap.set(child.id, root.id);
129
- }, 'TB', treeKey);
130
- });
131
- outerLayoutEdges = [];
132
- edges.forEach(function (edge) {
133
- var sourceAncestorId = nodeAncestorIdMap.get(edge.source) || edge.source;
134
- var targetAncestorId = nodeAncestorIdMap.get(edge.target) || edge.target;
135
- // create an edge for outer layout if both source and target's ancestor combo is in outer layout nodes
136
- if (sourceAncestorId !== targetAncestorId &&
137
- outerNodeIds.has(sourceAncestorId) &&
138
- outerNodeIds.has(targetAncestorId)) {
139
- outerLayoutEdges.push({
140
- id: edge.id,
141
- source: sourceAncestorId,
142
- target: targetAncestorId,
143
- data: {},
144
- });
145
- }
146
- });
147
- if (!(outerLayoutNodes === null || outerLayoutNodes === void 0 ? void 0 : outerLayoutNodes.length)) return [3 /*break*/, 7];
148
- if (!(outerLayoutNodes.length === 1)) return [3 /*break*/, 2];
149
- outerLayoutNodes[0].data.x = center[0];
150
- outerLayoutNodes[0].data.y = center[1];
151
- return [3 /*break*/, 6];
152
- case 2:
153
- outerLayoutGraph = new GraphCore({
154
- nodes: outerLayoutNodes,
155
- edges: outerLayoutEdges,
156
- });
157
- outerLayout = propsOuterLayout || new ForceLayout();
158
- if (!(allHaveNoPosition && FORCE_LAYOUT_TYPE_MAP[outerLayout.id])) return [3 /*break*/, 4];
159
- outerLayoutPreset = outerLayoutNodes.length < 100
160
- ? new MDSLayout()
161
- : new ConcentricLayout();
162
- return [4 /*yield*/, outerLayoutPreset.assign(outerLayoutGraph)];
163
- case 3:
164
- _a.sent();
165
- _a.label = 4;
166
- case 4: return [4 /*yield*/, outerLayout.execute(outerLayoutGraph, __assign({ center: center, kg: 5, preventOverlap: true, animate: false }, (outerLayout.id === 'force'
167
- ? {
168
- gravity: 1,
169
- factor: 4,
170
- linkDistance: function (edge, source, target) {
171
- var sourceSize = Math.max.apply(Math, __spreadArray([], __read(source.data.size))) || 32;
172
- var targetSize = Math.max.apply(Math, __spreadArray([], __read(target.data.size))) || 32;
173
- return sourceSize / 2 + targetSize / 2 + 200;
174
- },
175
- }
176
- : {})))];
177
- case 5:
178
- outerPositions = _a.sent();
179
- _a.label = 6;
180
- case 6:
181
- // move the combos and their child nodes
182
- comboNodes.forEach(function (comboNode) {
183
- var _a;
184
- var outerPosition = outerPositions.nodes.find(function (pos) { return pos.id === comboNode.id; });
185
- if (outerPosition) {
186
- // if it is one of the outer layout nodes, update the positions
187
- var _b = outerPosition.data, x_1 = _b.x, y_1 = _b.y;
188
- comboNode.data.visited = true;
189
- comboNode.data.x = x_1;
190
- comboNode.data.y = y_1;
191
- layoutNodes.push({
192
- id: comboNode.id,
193
- data: { x: x_1, y: y_1 },
194
- });
195
- }
196
- // move the child nodes
197
- var _c = comboNode.data, x = _c.x, y = _c.y;
198
- (_a = comboNode.data.nodes) === null || _a === void 0 ? void 0 : _a.forEach(function (node) {
199
- layoutNodes.push({
200
- id: node.id,
201
- data: { x: node.data.x + x, y: node.data.y + y },
202
- });
203
- });
168
+ : {})));
169
+ }
170
+ // move the combos and their child nodes
171
+ comboNodes.forEach((comboNode) => {
172
+ var _a;
173
+ const outerPosition = outerPositions.nodes.find((pos) => pos.id === comboNode.id);
174
+ if (outerPosition) {
175
+ // if it is one of the outer layout nodes, update the positions
176
+ const { x, y } = outerPosition.data;
177
+ comboNode.data.visited = true;
178
+ comboNode.data.x = x;
179
+ comboNode.data.y = y;
180
+ layoutNodes.push({
181
+ id: comboNode.id,
182
+ data: { x, y },
204
183
  });
205
- // move the nodes from top to bottom
206
- comboNodes.forEach(function (_a) {
207
- var _b;
208
- var data = _a.data;
209
- var x = data.x, y = data.y, visited = data.visited, nodes = data.nodes;
210
- (_b = nodes) === null || _b === void 0 ? void 0 : _b.forEach(function (node) {
211
- if (!visited) {
212
- var layoutNode = layoutNodes.find(function (n) { return n.id === node.id; });
213
- layoutNode.data.x += x || 0;
214
- layoutNode.data.y += y || 0;
215
- }
216
- });
184
+ }
185
+ // move the child nodes
186
+ const { x, y } = comboNode.data;
187
+ (_a = comboNode.data.nodes) === null || _a === void 0 ? void 0 : _a.forEach((node) => {
188
+ layoutNodes.push({
189
+ id: node.id,
190
+ data: { x: node.data.x + x, y: node.data.y + y },
217
191
  });
218
- _a.label = 7;
219
- case 7:
220
- if (assign) {
221
- layoutNodes.forEach(function (node) {
222
- graph.mergeNodeData(node.id, {
223
- x: node.data.x,
224
- y: node.data.y,
225
- });
226
- });
192
+ });
193
+ });
194
+ // move the nodes from top to bottom
195
+ comboNodes.forEach(({ data }) => {
196
+ const { x, y, visited, nodes } = data;
197
+ nodes === null || nodes === void 0 ? void 0 : nodes.forEach((node) => {
198
+ if (!visited) {
199
+ const layoutNode = layoutNodes.find((n) => n.id === node.id);
200
+ layoutNode.data.x += x || 0;
201
+ layoutNode.data.y += y || 0;
227
202
  }
228
- result = {
229
- nodes: layoutNodes,
230
- edges: edges,
231
- };
232
- return [2 /*return*/, result];
233
- }
234
- });
203
+ });
204
+ });
205
+ }
206
+ if (assign) {
207
+ layoutNodes.forEach((node) => {
208
+ graph.mergeNodeData(node.id, {
209
+ x: node.data.x,
210
+ y: node.data.y,
211
+ });
212
+ });
213
+ }
214
+ const result = {
215
+ nodes: layoutNodes,
216
+ edges,
217
+ };
218
+ return result;
235
219
  });
236
- };
237
- ComboCombinedLayout.prototype.initVals = function (options) {
238
- var formattedOptions = __assign({}, options);
239
- var nodeSize = options.nodeSize, spacing = options.spacing, comboPadding = options.comboPadding;
240
- var nodeSizeFunc;
241
- var spacingFunc;
220
+ }
221
+ initVals(options) {
222
+ const formattedOptions = Object.assign({}, options);
223
+ const { nodeSize, spacing, comboPadding } = options;
224
+ let nodeSizeFunc;
225
+ let spacingFunc;
242
226
  // nodeSpacing to function
243
- if (isNumber(spacing)) {
244
- spacingFunc = function () { return spacing; };
227
+ if ((0, util_1.isNumber)(spacing)) {
228
+ spacingFunc = () => spacing;
245
229
  }
246
- else if (isFunction(spacing)) {
230
+ else if ((0, util_1.isFunction)(spacing)) {
247
231
  spacingFunc = spacing;
248
232
  }
249
233
  else {
250
- spacingFunc = function () { return 0; };
234
+ spacingFunc = () => 0;
251
235
  }
252
236
  formattedOptions.spacing = spacingFunc;
253
237
  // nodeSize to function
254
238
  if (!nodeSize) {
255
- nodeSizeFunc = function (d) {
256
- var spacing = spacingFunc(d);
239
+ nodeSizeFunc = (d) => {
240
+ const spacing = spacingFunc(d);
257
241
  if (d.size) {
258
- if (isArray(d.size)) {
259
- var res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
242
+ if ((0, util_2.isArray)(d.size)) {
243
+ const res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
260
244
  return (res + spacing) / 2;
261
245
  }
262
- if (isObject(d.size)) {
263
- var res = d.size.width > d.size.height ? d.size.width : d.size.height;
246
+ if ((0, util_1.isObject)(d.size)) {
247
+ const res = d.size.width > d.size.height ? d.size.width : d.size.height;
264
248
  return (res + spacing) / 2;
265
249
  }
266
250
  return (d.size + spacing) / 2;
@@ -268,67 +252,66 @@ var ComboCombinedLayout = /** @class */ (function () {
268
252
  return 32 + spacing / 2;
269
253
  };
270
254
  }
271
- else if (isFunction(nodeSize)) {
272
- nodeSizeFunc = function (d) {
273
- var size = nodeSize(d);
274
- var spacing = spacingFunc(d);
275
- if (isArray(d.size)) {
276
- var res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
255
+ else if ((0, util_1.isFunction)(nodeSize)) {
256
+ nodeSizeFunc = (d) => {
257
+ const size = nodeSize(d);
258
+ const spacing = spacingFunc(d);
259
+ if ((0, util_2.isArray)(d.size)) {
260
+ const res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
277
261
  return (res + spacing) / 2;
278
262
  }
279
263
  return ((size || 32) + spacing) / 2;
280
264
  };
281
265
  }
282
- else if (isArray(nodeSize)) {
283
- var larger = nodeSize[0] > nodeSize[1] ? nodeSize[0] : nodeSize[1];
284
- var radius_1 = larger / 2;
285
- nodeSizeFunc = function (d) { return radius_1 + spacingFunc(d) / 2; };
266
+ else if ((0, util_2.isArray)(nodeSize)) {
267
+ const larger = nodeSize[0] > nodeSize[1] ? nodeSize[0] : nodeSize[1];
268
+ const radius = larger / 2;
269
+ nodeSizeFunc = (d) => radius + spacingFunc(d) / 2;
286
270
  }
287
271
  else {
288
272
  // number type
289
- var radius_2 = nodeSize / 2;
290
- nodeSizeFunc = function (d) { return radius_2 + spacingFunc(d) / 2; };
273
+ const radius = nodeSize / 2;
274
+ nodeSizeFunc = (d) => radius + spacingFunc(d) / 2;
291
275
  }
292
276
  formattedOptions.nodeSize = nodeSizeFunc;
293
277
  // comboPadding to function
294
- var comboPaddingFunc;
295
- if (isNumber(comboPadding)) {
296
- comboPaddingFunc = function () { return comboPadding; };
278
+ let comboPaddingFunc;
279
+ if ((0, util_1.isNumber)(comboPadding)) {
280
+ comboPaddingFunc = () => comboPadding;
297
281
  }
298
- else if (isArray(comboPadding)) {
299
- comboPaddingFunc = function () { return Math.max.apply(null, comboPadding); };
282
+ else if ((0, util_2.isArray)(comboPadding)) {
283
+ comboPaddingFunc = () => Math.max.apply(null, comboPadding);
300
284
  }
301
- else if (isFunction(comboPadding)) {
285
+ else if ((0, util_1.isFunction)(comboPadding)) {
302
286
  comboPaddingFunc = comboPadding;
303
287
  }
304
288
  else {
305
289
  // null type
306
- comboPaddingFunc = function () { return 0; };
290
+ comboPaddingFunc = () => 0;
307
291
  }
308
292
  formattedOptions.comboPadding = comboPaddingFunc;
309
293
  return formattedOptions;
310
- };
311
- ComboCombinedLayout.prototype.getInnerGraphs = function (graph, treeKey, nodeMap, comboMap, edges, options, comboNodes) {
312
- var _this = this;
313
- var nodeSize = options.nodeSize, comboPadding = options.comboPadding, spacing = options.spacing, innerLayout = options.innerLayout;
314
- var innerGraphLayout = innerLayout || new ConcentricLayout({});
315
- var innerLayoutOptions = {
294
+ }
295
+ getInnerGraphs(graph, treeKey, nodeMap, comboMap, edges, options, comboNodes) {
296
+ const { nodeSize, comboPadding, spacing, innerLayout } = options;
297
+ const innerGraphLayout = innerLayout || new concentric_1.ConcentricLayout({});
298
+ const innerLayoutOptions = {
316
299
  center: [0, 0],
317
300
  preventOverlap: true,
318
301
  nodeSpacing: spacing,
319
302
  };
320
- var innerLayoutPromises = [];
321
- var getSize = function (node) {
303
+ const innerLayoutPromises = [];
304
+ const getSize = (node) => {
322
305
  // @ts-ignore
323
- var padding = (comboPadding === null || comboPadding === void 0 ? void 0 : comboPadding(node)) || 10;
324
- if (isArray(padding))
325
- padding = Math.max.apply(Math, __spreadArray([], __read(padding)));
306
+ let padding = (comboPadding === null || comboPadding === void 0 ? void 0 : comboPadding(node)) || 10;
307
+ if ((0, util_2.isArray)(padding))
308
+ padding = Math.max(...padding);
326
309
  return {
327
310
  size: padding ? [padding * 2, padding * 2] : [30, 30],
328
- padding: padding,
311
+ padding,
329
312
  };
330
313
  };
331
- graph.getRoots(treeKey).forEach(function (root) {
314
+ graph.getRoots(treeKey).forEach((root) => {
332
315
  // @ts-ignore
333
316
  comboNodes.set(root.id, {
334
317
  id: root.id,
@@ -337,105 +320,96 @@ var ComboCombinedLayout = /** @class */ (function () {
337
320
  size: getSize(root).size,
338
321
  },
339
322
  });
340
- var start = Promise.resolve();
323
+ let start = Promise.resolve();
341
324
  // Regard the child nodes in one combo as a graph, and layout them from bottom to top
342
- graphTreeDfs(graph, [root], function (treeNode) {
325
+ (0, util_2.graphTreeDfs)(graph, [root], (treeNode) => {
343
326
  var _a;
344
327
  if (!treeNode.data._isCombo)
345
328
  return;
346
- var _b = getSize(treeNode), nsize = _b.size, padding = _b.padding;
329
+ const { size: nsize, padding } = getSize(treeNode);
347
330
  if (!((_a = graph.getChildren(treeNode.id, treeKey)) === null || _a === void 0 ? void 0 : _a.length)) {
348
331
  // empty combo
349
332
  comboNodes.set(treeNode.id, {
350
333
  id: treeNode.id,
351
- data: __assign(__assign({}, treeNode.data), { size: nsize }),
334
+ data: Object.assign(Object.assign({}, treeNode.data), { size: nsize }),
352
335
  });
353
336
  }
354
337
  else {
355
338
  // combo not empty
356
- var comboNode = comboNodes.get(treeNode.id);
339
+ const comboNode = comboNodes.get(treeNode.id);
357
340
  comboNodes.set(treeNode.id, {
358
341
  id: treeNode.id,
359
- data: __assign({ nodes: [] }, comboNode === null || comboNode === void 0 ? void 0 : comboNode.data),
342
+ data: Object.assign({ nodes: [] }, comboNode === null || comboNode === void 0 ? void 0 : comboNode.data),
360
343
  });
361
- var innerLayoutNodeIds_1 = new Map();
362
- var innerLayoutNodes_1 = graph
344
+ const innerLayoutNodeIds = new Map();
345
+ const innerLayoutNodes = graph
363
346
  .getChildren(treeNode.id, treeKey)
364
- .map(function (child) {
347
+ .map((child) => {
365
348
  if (child.data._isCombo) {
366
- if (!comboNodes.has(child.id))
349
+ if (!comboNodes.has(child.id)) {
367
350
  comboNodes.set(child.id, {
368
351
  id: child.id,
369
- data: __assign({}, child.data),
352
+ data: Object.assign({}, child.data),
370
353
  });
371
- innerLayoutNodeIds_1.set(child.id, true);
354
+ }
355
+ innerLayoutNodeIds.set(child.id, true);
372
356
  return comboNodes.get(child.id);
373
357
  }
374
- var oriNode = nodeMap.get(child.id) || comboMap.get(child.id);
375
- innerLayoutNodeIds_1.set(child.id, true);
358
+ const oriNode = nodeMap.get(child.id) || comboMap.get(child.id);
359
+ innerLayoutNodeIds.set(child.id, true);
376
360
  return {
377
361
  id: child.id,
378
- data: __assign(__assign({}, oriNode.data), child.data),
362
+ data: Object.assign(Object.assign({}, oriNode.data), child.data),
379
363
  };
380
364
  });
381
- var innerGraphData_1 = {
382
- nodes: innerLayoutNodes_1,
383
- edges: edges.filter(function (edge) {
384
- return innerLayoutNodeIds_1.has(edge.source) &&
385
- innerLayoutNodeIds_1.has(edge.target);
386
- }),
365
+ const innerGraphData = {
366
+ nodes: innerLayoutNodes,
367
+ edges: edges.filter((edge) => innerLayoutNodeIds.has(edge.source) &&
368
+ innerLayoutNodeIds.has(edge.target)),
387
369
  };
388
- var minNodeSize_1 = Infinity;
389
- innerLayoutNodes_1.forEach(function (node) {
390
- var _a, _b;
391
- var size = node.data.size;
370
+ let minNodeSize = Infinity;
371
+ innerLayoutNodes.forEach((node) => {
372
+ var _a;
373
+ let { size } = node.data;
392
374
  if (!size) {
393
375
  size = ((_a = comboNodes.get(node.id)) === null || _a === void 0 ? void 0 : _a.data.size) ||
394
- ((_b = nodeSize) === null || _b === void 0 ? void 0 : _b(node)) || [30, 30];
376
+ (nodeSize === null || nodeSize === void 0 ? void 0 : nodeSize(node)) || [30, 30];
395
377
  }
396
- if (isNumber(size))
378
+ if ((0, util_1.isNumber)(size))
397
379
  size = [size, size];
398
- var _c = __read(size, 2), size0 = _c[0], size1 = _c[1];
399
- if (minNodeSize_1 > size0)
400
- minNodeSize_1 = size0;
401
- if (minNodeSize_1 > size1)
402
- minNodeSize_1 = size1;
380
+ const [size0, size1] = size;
381
+ if (minNodeSize > size0)
382
+ minNodeSize = size0;
383
+ if (minNodeSize > size1)
384
+ minNodeSize = size1;
403
385
  node.data.size = size;
404
386
  });
405
387
  // innerGraphLayout.assign(innerGraphCore, innerLayoutOptions);
406
- start = start.then(function () { return __awaiter(_this, void 0, void 0, function () {
407
- var innerGraphCore, innerLayout, _a, minX, minY, maxX, maxY, center, size;
408
- return __generator(this, function (_b) {
409
- switch (_b.label) {
410
- case 0:
411
- innerGraphCore = new GraphCore(innerGraphData_1);
412
- return [4 /*yield*/, innerGraphLayout.assign(innerGraphCore, innerLayoutOptions)];
413
- case 1:
414
- innerLayout = _b.sent();
415
- _a = getLayoutBBox(innerLayoutNodes_1), minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;
416
- center = { x: (maxX + minX) / 2, y: (maxY + minY) / 2 };
417
- innerGraphData_1.nodes.forEach(function (node) {
418
- node.data.x -= center.x;
419
- node.data.y -= center.y;
420
- });
421
- size = [
422
- Math.max(maxX - minX, minNodeSize_1) + padding * 2,
423
- Math.max(maxY - minY, minNodeSize_1) + padding * 2,
424
- ];
425
- comboNodes.get(treeNode.id).data.size = size;
426
- comboNodes.get(treeNode.id).data.nodes = innerLayoutNodes_1;
427
- return [2 /*return*/, innerLayout];
428
- }
388
+ start = start.then(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
389
+ const innerGraphCore = new graphlib_1.Graph(innerGraphData);
390
+ const innerLayout = yield innerGraphLayout.assign(innerGraphCore, innerLayoutOptions);
391
+ const { minX, minY, maxX, maxY } = (0, util_2.getLayoutBBox)(innerLayoutNodes);
392
+ // move the innerGraph to [0, 0], for later controled by parent layout
393
+ const center = { x: (maxX + minX) / 2, y: (maxY + minY) / 2 };
394
+ innerGraphData.nodes.forEach((node) => {
395
+ node.data.x -= center.x;
396
+ node.data.y -= center.y;
429
397
  });
430
- }); });
398
+ const size = [
399
+ Math.max(maxX - minX, minNodeSize) + padding * 2,
400
+ Math.max(maxY - minY, minNodeSize) + padding * 2,
401
+ ];
402
+ comboNodes.get(treeNode.id).data.size = size;
403
+ comboNodes.get(treeNode.id).data.nodes = innerLayoutNodes;
404
+ return innerLayout;
405
+ }));
431
406
  }
432
407
  return true;
433
408
  }, 'BT', treeKey);
434
409
  innerLayoutPromises.push(start);
435
410
  });
436
411
  return innerLayoutPromises;
437
- };
438
- return ComboCombinedLayout;
439
- }());
440
- export { ComboCombinedLayout };
412
+ }
413
+ }
414
+ exports.ComboCombinedLayout = ComboCombinedLayout;
441
415
  //# sourceMappingURL=comboCombined.js.map