@antv/layout 0.2.0 → 0.2.3
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.
- package/dist/layout.min.js +1 -1
- package/dist/layout.min.js.LICENSE.txt +0 -9
- package/dist/layout.min.js.map +1 -1
- package/es/layout/circular.js.map +1 -1
- package/es/layout/comboCombined.js +3 -19
- package/es/layout/comboCombined.js.map +1 -1
- package/es/layout/concentric.js.map +1 -1
- package/es/layout/dagre/graph.d.ts +91 -0
- package/es/layout/dagre/graph.js +4 -0
- package/es/layout/dagre/graph.js.map +1 -0
- package/es/layout/dagre/index.d.ts +3 -4
- package/es/layout/dagre/index.js +0 -2
- package/es/layout/dagre/index.js.map +1 -1
- package/es/layout/dagre/src/acyclic.d.ts +1 -2
- package/es/layout/dagre/src/acyclic.js +7 -7
- package/es/layout/dagre/src/acyclic.js.map +1 -1
- package/es/layout/dagre/src/add-border-segments.d.ts +1 -2
- package/es/layout/dagre/src/add-border-segments.js +5 -5
- package/es/layout/dagre/src/add-border-segments.js.map +1 -1
- package/es/layout/dagre/src/coordinate-system.d.ts +1 -2
- package/es/layout/dagre/src/coordinate-system.js +15 -5
- package/es/layout/dagre/src/coordinate-system.js.map +1 -1
- package/es/layout/dagre/src/data/list.d.ts +9 -5
- package/es/layout/dagre/src/data/list.js +25 -27
- package/es/layout/dagre/src/data/list.js.map +1 -1
- package/es/layout/dagre/src/debug.d.ts +2 -3
- package/es/layout/dagre/src/debug.js +3 -5
- package/es/layout/dagre/src/debug.js.map +1 -1
- package/es/layout/dagre/src/greedy-fas.d.ts +2 -3
- package/es/layout/dagre/src/greedy-fas.js +16 -15
- package/es/layout/dagre/src/greedy-fas.js.map +1 -1
- package/es/layout/dagre/src/layout.d.ts +2 -3
- package/es/layout/dagre/src/layout.js +170 -91
- package/es/layout/dagre/src/layout.js.map +1 -1
- package/es/layout/dagre/src/nesting-graph.d.ts +1 -2
- package/es/layout/dagre/src/nesting-graph.js +15 -10
- package/es/layout/dagre/src/nesting-graph.js.map +1 -1
- package/es/layout/dagre/src/normalize.d.ts +1 -2
- package/es/layout/dagre/src/normalize.js +12 -11
- package/es/layout/dagre/src/normalize.js.map +1 -1
- package/es/layout/dagre/src/order/add-subgraph-constraints.d.ts +1 -2
- package/es/layout/dagre/src/order/add-subgraph-constraints.js.map +1 -1
- package/es/layout/dagre/src/order/barycenter.d.ts +1 -2
- package/es/layout/dagre/src/order/barycenter.js.map +1 -1
- package/es/layout/dagre/src/order/build-layer-graph.d.ts +2 -3
- package/es/layout/dagre/src/order/build-layer-graph.js +12 -8
- package/es/layout/dagre/src/order/build-layer-graph.js.map +1 -1
- package/es/layout/dagre/src/order/cross-count.d.ts +2 -3
- package/es/layout/dagre/src/order/cross-count.js +13 -12
- package/es/layout/dagre/src/order/cross-count.js.map +1 -1
- package/es/layout/dagre/src/order/index.d.ts +2 -3
- package/es/layout/dagre/src/order/index.js +17 -15
- package/es/layout/dagre/src/order/index.js.map +1 -1
- package/es/layout/dagre/src/order/init-data-order.d.ts +1 -2
- package/es/layout/dagre/src/order/init-data-order.js +3 -5
- package/es/layout/dagre/src/order/init-data-order.js.map +1 -1
- package/es/layout/dagre/src/order/init-order.d.ts +2 -3
- package/es/layout/dagre/src/order/init-order.js +1 -2
- package/es/layout/dagre/src/order/init-order.js.map +1 -1
- package/es/layout/dagre/src/order/resolve-conflicts.d.ts +18 -3
- package/es/layout/dagre/src/order/resolve-conflicts.js +9 -29
- package/es/layout/dagre/src/order/resolve-conflicts.js.map +1 -1
- package/es/layout/dagre/src/order/sort-subgraph.d.ts +6 -3
- package/es/layout/dagre/src/order/sort-subgraph.js +19 -14
- package/es/layout/dagre/src/order/sort-subgraph.js.map +1 -1
- package/es/layout/dagre/src/order/sort.d.ts +6 -1
- package/es/layout/dagre/src/order/sort.js +2 -2
- package/es/layout/dagre/src/order/sort.js.map +1 -1
- package/es/layout/dagre/src/parent-dummy-chains.d.ts +1 -2
- package/es/layout/dagre/src/parent-dummy-chains.js +47 -44
- package/es/layout/dagre/src/parent-dummy-chains.js.map +1 -1
- package/es/layout/dagre/src/position/bk.d.ts +22 -31
- package/es/layout/dagre/src/position/bk.js +49 -83
- package/es/layout/dagre/src/position/bk.js.map +1 -1
- package/es/layout/dagre/src/position/index.d.ts +1 -2
- package/es/layout/dagre/src/position/index.js +12 -14
- package/es/layout/dagre/src/position/index.js.map +1 -1
- package/es/layout/dagre/src/rank/feasible-tree.d.ts +5 -6
- package/es/layout/dagre/src/rank/feasible-tree.js +1 -2
- package/es/layout/dagre/src/rank/feasible-tree.js.map +1 -1
- package/es/layout/dagre/src/rank/index.d.ts +2 -3
- package/es/layout/dagre/src/rank/index.js.map +1 -1
- package/es/layout/dagre/src/rank/network-simplex.d.ts +8 -11
- package/es/layout/dagre/src/rank/network-simplex.js +18 -31
- package/es/layout/dagre/src/rank/network-simplex.js.map +1 -1
- package/es/layout/dagre/src/rank/util.d.ts +4 -5
- package/es/layout/dagre/src/rank/util.js +37 -20
- package/es/layout/dagre/src/rank/util.js.map +1 -1
- package/es/layout/dagre/src/util.d.ts +29 -48
- package/es/layout/dagre/src/util.js +91 -101
- package/es/layout/dagre/src/util.js.map +1 -1
- package/es/layout/dagre.d.ts +1 -1
- package/es/layout/dagre.js +28 -24
- package/es/layout/dagre.js.map +1 -1
- package/es/layout/fruchterman.js.map +1 -1
- package/es/layout/gForce.js +14 -6
- package/es/layout/gForce.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/layout/circular.js.map +1 -1
- package/lib/layout/comboCombined.js +2 -18
- package/lib/layout/comboCombined.js.map +1 -1
- package/lib/layout/comboForce.js +5 -5
- package/lib/layout/comboForce.js.map +1 -1
- package/lib/layout/concentric.js.map +1 -1
- package/lib/layout/dagre/graph.d.ts +91 -0
- package/lib/layout/dagre/graph.js +28 -0
- package/lib/layout/dagre/graph.js.map +1 -0
- package/lib/layout/dagre/index.d.ts +3 -4
- package/lib/layout/dagre/index.js +0 -2
- package/lib/layout/dagre/index.js.map +1 -1
- package/lib/layout/dagre/src/acyclic.d.ts +1 -2
- package/lib/layout/dagre/src/acyclic.js +7 -7
- package/lib/layout/dagre/src/acyclic.js.map +1 -1
- package/lib/layout/dagre/src/add-border-segments.d.ts +1 -2
- package/lib/layout/dagre/src/add-border-segments.js +5 -8
- package/lib/layout/dagre/src/add-border-segments.js.map +1 -1
- package/lib/layout/dagre/src/coordinate-system.d.ts +1 -2
- package/lib/layout/dagre/src/coordinate-system.js +15 -5
- package/lib/layout/dagre/src/coordinate-system.js.map +1 -1
- package/lib/layout/dagre/src/data/list.d.ts +9 -5
- package/lib/layout/dagre/src/data/list.js +25 -26
- package/lib/layout/dagre/src/data/list.js.map +1 -1
- package/lib/layout/dagre/src/debug.d.ts +2 -3
- package/lib/layout/dagre/src/debug.js +6 -11
- package/lib/layout/dagre/src/debug.js.map +1 -1
- package/lib/layout/dagre/src/greedy-fas.d.ts +2 -3
- package/lib/layout/dagre/src/greedy-fas.js +41 -15
- package/lib/layout/dagre/src/greedy-fas.js.map +1 -1
- package/lib/layout/dagre/src/layout.d.ts +2 -3
- package/lib/layout/dagre/src/layout.js +171 -100
- package/lib/layout/dagre/src/layout.js.map +1 -1
- package/lib/layout/dagre/src/nesting-graph.d.ts +1 -2
- package/lib/layout/dagre/src/nesting-graph.js +15 -13
- package/lib/layout/dagre/src/nesting-graph.js.map +1 -1
- package/lib/layout/dagre/src/normalize.d.ts +1 -2
- package/lib/layout/dagre/src/normalize.js +12 -14
- package/lib/layout/dagre/src/normalize.js.map +1 -1
- package/lib/layout/dagre/src/order/add-subgraph-constraints.d.ts +1 -2
- package/lib/layout/dagre/src/order/add-subgraph-constraints.js.map +1 -1
- package/lib/layout/dagre/src/order/barycenter.d.ts +1 -2
- package/lib/layout/dagre/src/order/barycenter.js.map +1 -1
- package/lib/layout/dagre/src/order/build-layer-graph.d.ts +2 -3
- package/lib/layout/dagre/src/order/build-layer-graph.js +13 -12
- package/lib/layout/dagre/src/order/build-layer-graph.js.map +1 -1
- package/lib/layout/dagre/src/order/cross-count.d.ts +2 -3
- package/lib/layout/dagre/src/order/cross-count.js +14 -13
- package/lib/layout/dagre/src/order/cross-count.js.map +1 -1
- package/lib/layout/dagre/src/order/index.d.ts +2 -3
- package/lib/layout/dagre/src/order/index.js +15 -13
- package/lib/layout/dagre/src/order/index.js.map +1 -1
- package/lib/layout/dagre/src/order/init-data-order.d.ts +1 -2
- package/lib/layout/dagre/src/order/init-data-order.js +3 -5
- package/lib/layout/dagre/src/order/init-data-order.js.map +1 -1
- package/lib/layout/dagre/src/order/init-order.d.ts +2 -3
- package/lib/layout/dagre/src/order/init-order.js +1 -2
- package/lib/layout/dagre/src/order/init-order.js.map +1 -1
- package/lib/layout/dagre/src/order/resolve-conflicts.d.ts +18 -3
- package/lib/layout/dagre/src/order/resolve-conflicts.js +9 -29
- package/lib/layout/dagre/src/order/resolve-conflicts.js.map +1 -1
- package/lib/layout/dagre/src/order/sort-subgraph.d.ts +6 -3
- package/lib/layout/dagre/src/order/sort-subgraph.js +16 -11
- package/lib/layout/dagre/src/order/sort-subgraph.js.map +1 -1
- package/lib/layout/dagre/src/order/sort.d.ts +6 -1
- package/lib/layout/dagre/src/order/sort.js +2 -5
- package/lib/layout/dagre/src/order/sort.js.map +1 -1
- package/lib/layout/dagre/src/parent-dummy-chains.d.ts +1 -2
- package/lib/layout/dagre/src/parent-dummy-chains.js +47 -44
- package/lib/layout/dagre/src/parent-dummy-chains.js.map +1 -1
- package/lib/layout/dagre/src/position/bk.d.ts +22 -31
- package/lib/layout/dagre/src/position/bk.js +75 -85
- package/lib/layout/dagre/src/position/bk.js.map +1 -1
- package/lib/layout/dagre/src/position/index.d.ts +1 -2
- package/lib/layout/dagre/src/position/index.js +14 -17
- package/lib/layout/dagre/src/position/index.js.map +1 -1
- package/lib/layout/dagre/src/rank/feasible-tree.d.ts +5 -6
- package/lib/layout/dagre/src/rank/feasible-tree.js +3 -7
- package/lib/layout/dagre/src/rank/feasible-tree.js.map +1 -1
- package/lib/layout/dagre/src/rank/index.d.ts +2 -3
- package/lib/layout/dagre/src/rank/index.js.map +1 -1
- package/lib/layout/dagre/src/rank/network-simplex.d.ts +8 -11
- package/lib/layout/dagre/src/rank/network-simplex.js +27 -35
- package/lib/layout/dagre/src/rank/network-simplex.js.map +1 -1
- package/lib/layout/dagre/src/rank/util.d.ts +4 -5
- package/lib/layout/dagre/src/rank/util.js +36 -19
- package/lib/layout/dagre/src/rank/util.js.map +1 -1
- package/lib/layout/dagre/src/util.d.ts +29 -48
- package/lib/layout/dagre/src/util.js +80 -92
- package/lib/layout/dagre/src/util.js.map +1 -1
- package/lib/layout/dagre.d.ts +1 -1
- package/lib/layout/dagre.js +27 -23
- package/lib/layout/dagre.js.map +1 -1
- package/lib/layout/er/core.js +5 -1
- package/lib/layout/er/core.js.map +1 -1
- package/lib/layout/force/force-in-a-box.js +7 -3
- package/lib/layout/force/force-in-a-box.js.map +1 -1
- package/lib/layout/force/force.js +5 -1
- package/lib/layout/force/force.js.map +1 -1
- package/lib/layout/force/index.js +5 -1
- package/lib/layout/force/index.js.map +1 -1
- package/lib/layout/fruchterman.js.map +1 -1
- package/lib/layout/gForce.js +10 -2
- package/lib/layout/gForce.js.map +1 -1
- package/lib/layout/grid.js +2 -2
- package/lib/layout/grid.js.map +1 -1
- package/lib/layout/index.js +5 -1
- package/lib/layout/index.js.map +1 -1
- package/lib/layout/radial/index.js +5 -1
- package/lib/layout/radial/index.js.map +1 -1
- package/lib/registy/index.js +1 -1
- package/lib/registy/index.js.map +1 -1
- package/lib/util/index.js +5 -1
- package/lib/util/index.js.map +1 -1
- package/package.json +3 -2
- package/src/index.ts +7 -0
- package/src/layout/base.ts +54 -0
- package/src/layout/circular.ts +369 -0
- package/src/layout/comboCombined.ts +390 -0
- package/src/layout/comboForce.ts +873 -0
- package/src/layout/concentric.ts +289 -0
- package/src/layout/constants.ts +21 -0
- package/src/layout/dagre/graph.ts +104 -0
- package/src/layout/dagre/index.ts +31 -0
- package/src/layout/dagre/src/acyclic.ts +58 -0
- package/src/layout/dagre/src/add-border-segments.ts +47 -0
- package/src/layout/dagre/src/coordinate-system.ts +77 -0
- package/src/layout/dagre/src/data/list.ts +60 -0
- package/src/layout/dagre/src/debug.ts +30 -0
- package/src/layout/dagre/src/greedy-fas.ts +144 -0
- package/src/layout/dagre/src/layout.ts +580 -0
- package/src/layout/dagre/src/nesting-graph.ts +143 -0
- package/src/layout/dagre/src/normalize.ts +96 -0
- package/src/layout/dagre/src/order/add-subgraph-constraints.ts +29 -0
- package/src/layout/dagre/src/order/barycenter.ts +26 -0
- package/src/layout/dagre/src/order/build-layer-graph.ts +82 -0
- package/src/layout/dagre/src/order/cross-count.ts +77 -0
- package/src/layout/dagre/src/order/index.ts +105 -0
- package/src/layout/dagre/src/order/init-data-order.ts +27 -0
- package/src/layout/dagre/src/order/init-order.ts +56 -0
- package/src/layout/dagre/src/order/resolve-conflicts.ts +152 -0
- package/src/layout/dagre/src/order/sort-subgraph.ts +105 -0
- package/src/layout/dagre/src/order/sort.ts +76 -0
- package/src/layout/dagre/src/parent-dummy-chains.ts +102 -0
- package/src/layout/dagre/src/position/bk.ts +494 -0
- package/src/layout/dagre/src/position/index.ts +82 -0
- package/src/layout/dagre/src/rank/feasible-tree.ts +165 -0
- package/src/layout/dagre/src/rank/index.ts +54 -0
- package/src/layout/dagre/src/rank/network-simplex.ts +225 -0
- package/src/layout/dagre/src/rank/util.ts +157 -0
- package/src/layout/dagre/src/util.ts +308 -0
- package/src/layout/dagre.ts +423 -0
- package/src/layout/dagreCompound.ts +518 -0
- package/src/layout/er/core.ts +117 -0
- package/src/layout/er/forceGrid.ts +95 -0
- package/src/layout/er/grid.ts +185 -0
- package/src/layout/er/index.ts +68 -0
- package/src/layout/er/mysqlWorkbench.ts +345 -0
- package/src/layout/er/type.ts +39 -0
- package/src/layout/force/force-in-a-box.ts +400 -0
- package/src/layout/force/force.ts +391 -0
- package/src/layout/force/index.ts +1 -0
- package/src/layout/forceAtlas2/body.ts +115 -0
- package/src/layout/forceAtlas2/index.ts +556 -0
- package/src/layout/forceAtlas2/quad.ts +115 -0
- package/src/layout/forceAtlas2/quadTree.ts +107 -0
- package/src/layout/fruchterman.ts +361 -0
- package/src/layout/gForce.ts +487 -0
- package/src/layout/gpu/fruchterman.ts +314 -0
- package/src/layout/gpu/fruchtermanShader.ts +204 -0
- package/src/layout/gpu/gForce.ts +406 -0
- package/src/layout/gpu/gForceShader.ts +221 -0
- package/src/layout/grid.ts +391 -0
- package/src/layout/index.ts +45 -0
- package/src/layout/layout.ts +75 -0
- package/src/layout/mds.ts +140 -0
- package/src/layout/radial/index.ts +1 -0
- package/src/layout/radial/mds.ts +51 -0
- package/src/layout/radial/radial.ts +500 -0
- package/src/layout/radial/radialNonoverlapForce.ts +189 -0
- package/src/layout/random.ts +75 -0
- package/src/layout/types.ts +421 -0
- package/src/registy/index.ts +43 -0
- package/src/util/array.ts +1 -0
- package/src/util/function.ts +64 -0
- package/src/util/gpu.ts +254 -0
- package/src/util/index.ts +6 -0
- package/src/util/math.ts +158 -0
- package/src/util/number.ts +8 -0
- package/src/util/object.ts +28 -0
- package/src/util/string.ts +18 -0
- package/CHANGELOG.md +0 -78
- package/es/layout/dagre/src/graphlib.d.ts +0 -2
- package/es/layout/dagre/src/graphlib.js +0 -51
- package/es/layout/dagre/src/graphlib.js.map +0 -1
- package/lib/layout/dagre/src/graphlib.d.ts +0 -2
- package/lib/layout/dagre/src/graphlib.js +0 -56
- package/lib/layout/dagre/src/graphlib.js.map +0 -1
|
@@ -21,7 +21,6 @@ const initOrder = (g) => {
|
|
|
21
21
|
for (let i = 0; i < maxRank + 1; i++) {
|
|
22
22
|
layers.push([]);
|
|
23
23
|
}
|
|
24
|
-
// const layers = _.map(_.range(maxRank + 1), function() { return []; });
|
|
25
24
|
const dfs = (v) => {
|
|
26
25
|
var _a;
|
|
27
26
|
if (visited.hasOwnProperty(v))
|
|
@@ -34,7 +33,7 @@ const initOrder = (g) => {
|
|
|
34
33
|
(_a = g.successors(v)) === null || _a === void 0 ? void 0 : _a.forEach((child) => dfs(child));
|
|
35
34
|
};
|
|
36
35
|
const orderedVs = simpleNodes.sort((a, b) => g.node(a).rank - g.node(b).rank);
|
|
37
|
-
// const orderedVs = _.sortBy(simpleNodes, function(v) { return g.node(v)
|
|
36
|
+
// const orderedVs = _.sortBy(simpleNodes, function(v) { return g.node(v)!.rank; });
|
|
38
37
|
// 有fixOrder的,直接排序好放进去
|
|
39
38
|
const beforeSort = orderedVs.filter((n) => {
|
|
40
39
|
return g.node(n).fixorder !== undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-order.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-order.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG,CAAC,CAAQ,EAAE,EAAE;IAC7B,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;QACzC,OAAO,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAA,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE;;QACxB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO;QACtC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,MAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAY,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,CAAC,CAAC;IACxG,oFAAoF;IAEpF,sBAAsB;IACtB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAmB,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAmB,CAAC,CAAC;IACnH,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC,EAAE;YACrC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare type
|
|
3
|
-
|
|
1
|
+
import { Graph } from "../../graph";
|
|
2
|
+
export declare type ConflictEntry = {
|
|
3
|
+
i: number;
|
|
4
|
+
indegree?: number;
|
|
5
|
+
in?: ConflictEntry[];
|
|
6
|
+
out?: ConflictEntry[];
|
|
7
|
+
vs: string[];
|
|
8
|
+
barycenter?: number;
|
|
9
|
+
weight?: number;
|
|
10
|
+
merged?: boolean;
|
|
11
|
+
fixorder?: number;
|
|
12
|
+
order?: number;
|
|
13
|
+
};
|
|
14
|
+
declare const resolveConflicts: (entries: {
|
|
15
|
+
v: string;
|
|
16
|
+
barycenter?: number;
|
|
17
|
+
weight?: number;
|
|
18
|
+
}[], cg: Graph) => ConflictEntry[];
|
|
4
19
|
export default resolveConflicts;
|
|
@@ -1,39 +1,15 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Given a list of entries of the form {v, barycenter, weight} and a
|
|
3
|
-
* constraint graph this function will resolve any conflicts between the
|
|
4
|
-
* constraint graph and the barycenters for the entries. If the barycenters for
|
|
5
|
-
* an entry would violate a constraint in the constraint graph then we coalesce
|
|
6
|
-
* the nodes in the conflict into a new node that respects the contraint and
|
|
7
|
-
* aggregates barycenter and weight information.
|
|
8
|
-
*
|
|
9
|
-
* This implementation is based on the description in Forster, "A Fast and
|
|
10
|
-
* Simple Hueristic for Constrained Two-Level Crossing Reduction," thought it
|
|
11
|
-
* differs in some specific details.
|
|
12
|
-
*
|
|
13
|
-
* Pre-conditions:
|
|
14
|
-
*
|
|
15
|
-
* 1. Each entry has the form {v, barycenter, weight}, or if the node has
|
|
16
|
-
* no barycenter, then {v}.
|
|
17
|
-
*
|
|
18
|
-
* Returns:
|
|
19
|
-
*
|
|
20
|
-
* A new list of entries of the form {vs, i, barycenter, weight}. The list
|
|
21
|
-
* `vs` may either be a singleton or it may be an aggregation of nodes
|
|
22
|
-
* ordered such that they do not violate constraints from the constraint
|
|
23
|
-
* graph. The property `i` is the lowest original index of any of the
|
|
24
|
-
* elements in `vs`.
|
|
25
|
-
*/
|
|
26
1
|
const resolveConflicts = (entries, cg) => {
|
|
27
2
|
var _a, _b, _c;
|
|
28
3
|
const mappedEntries = {};
|
|
29
4
|
entries === null || entries === void 0 ? void 0 : entries.forEach((entry, i) => {
|
|
30
|
-
|
|
5
|
+
mappedEntries[entry.v] = {
|
|
31
6
|
i,
|
|
32
7
|
indegree: 0,
|
|
33
|
-
|
|
8
|
+
in: [],
|
|
34
9
|
out: [],
|
|
35
10
|
vs: [entry.v],
|
|
36
11
|
};
|
|
12
|
+
const tmp = mappedEntries[entry.v];
|
|
37
13
|
if (entry.barycenter !== undefined) {
|
|
38
14
|
tmp.barycenter = entry.barycenter;
|
|
39
15
|
tmp.weight = entry.weight;
|
|
@@ -47,7 +23,6 @@ const resolveConflicts = (entries, cg) => {
|
|
|
47
23
|
entryV.out.push(mappedEntries[e.w]);
|
|
48
24
|
}
|
|
49
25
|
});
|
|
50
|
-
// @ts-ignore
|
|
51
26
|
const sourceSet = (_c = (_b = Object.values(mappedEntries)).filter) === null || _c === void 0 ? void 0 : _c.call(_b, (entry) => !entry.indegree);
|
|
52
27
|
return doResolveConflicts(sourceSet);
|
|
53
28
|
};
|
|
@@ -80,7 +55,12 @@ const doResolveConflicts = (sourceSet) => {
|
|
|
80
55
|
(_b = entry.out) === null || _b === void 0 ? void 0 : _b.forEach((e) => handleOut(entry)(e));
|
|
81
56
|
}
|
|
82
57
|
const filtered = entries.filter((entry) => !entry.merged);
|
|
83
|
-
const keys = [
|
|
58
|
+
const keys = [
|
|
59
|
+
"vs",
|
|
60
|
+
"i",
|
|
61
|
+
"barycenter",
|
|
62
|
+
"weight",
|
|
63
|
+
];
|
|
84
64
|
return filtered.map((entry) => {
|
|
85
65
|
const picked = {};
|
|
86
66
|
keys === null || keys === void 0 ? void 0 : keys.forEach((key) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-conflicts.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/resolve-conflicts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-conflicts.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/resolve-conflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare
|
|
3
|
-
|
|
1
|
+
import { Graph } from "../../graph";
|
|
2
|
+
declare const sortSubgraph: (g: Graph, v: string, cg: Graph, biasRight?: boolean | undefined, usePrev?: boolean | undefined) => {
|
|
3
|
+
vs: string[];
|
|
4
|
+
barycenter?: number | undefined;
|
|
5
|
+
weight?: number | undefined;
|
|
6
|
+
};
|
|
4
7
|
export default sortSubgraph;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import barycenter from
|
|
2
|
-
import resolveConflicts from
|
|
3
|
-
import sort from
|
|
1
|
+
import barycenter from "./barycenter";
|
|
2
|
+
import resolveConflicts from "./resolve-conflicts";
|
|
3
|
+
import sort from "./sort";
|
|
4
4
|
const sortSubgraph = (g, v, cg, biasRight, usePrev) => {
|
|
5
5
|
var _a, _b, _c, _d;
|
|
6
6
|
let movable = g.children(v);
|
|
@@ -29,24 +29,29 @@ const sortSubgraph = (g, v, cg, biasRight, usePrev) => {
|
|
|
29
29
|
expandSubgraphs(entries, subgraphs);
|
|
30
30
|
// 添加fixorder信息到entries里边
|
|
31
31
|
// TODO: 不考虑复合情况,只用第一个点的fixorder信息,后续考虑更完备的实现
|
|
32
|
-
(_a = entries
|
|
32
|
+
(_a = entries
|
|
33
|
+
.filter((e) => e.vs.length > 0)) === null || _a === void 0 ? void 0 : _a.forEach((e) => {
|
|
33
34
|
const node = g.node(e.vs[0]);
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
if (node) {
|
|
36
|
+
e.fixorder = node.fixorder;
|
|
37
|
+
e.order = node.order;
|
|
38
|
+
}
|
|
36
39
|
});
|
|
37
40
|
const result = sort(entries, biasRight, usePrev);
|
|
38
41
|
if (bl) {
|
|
39
|
-
// @ts-ignore
|
|
40
42
|
result.vs = [bl, result.vs, br].flat();
|
|
41
43
|
if ((_b = g.predecessors(bl)) === null || _b === void 0 ? void 0 : _b.length) {
|
|
42
|
-
const blPred = g.node(((_c = g.predecessors(bl)) === null || _c === void 0 ? void 0 : _c[0]) ||
|
|
43
|
-
const brPred = g.node(((_d = g.predecessors(br)) === null || _d === void 0 ? void 0 : _d[0]) ||
|
|
44
|
+
const blPred = g.node(((_c = g.predecessors(bl)) === null || _c === void 0 ? void 0 : _c[0]) || "");
|
|
45
|
+
const brPred = g.node(((_d = g.predecessors(br)) === null || _d === void 0 ? void 0 : _d[0]) || "");
|
|
44
46
|
if (!result.hasOwnProperty("barycenter")) {
|
|
45
47
|
result.barycenter = 0;
|
|
46
48
|
result.weight = 0;
|
|
47
49
|
}
|
|
48
|
-
result.barycenter =
|
|
49
|
-
|
|
50
|
+
result.barycenter =
|
|
51
|
+
(result.barycenter * result.weight +
|
|
52
|
+
blPred.order +
|
|
53
|
+
brPred.order) /
|
|
54
|
+
(result.weight + 2);
|
|
50
55
|
result.weight += 2;
|
|
51
56
|
}
|
|
52
57
|
}
|
|
@@ -66,9 +71,9 @@ const expandSubgraphs = (entries, subgraphs) => {
|
|
|
66
71
|
};
|
|
67
72
|
const mergeBarycenters = (target, other) => {
|
|
68
73
|
if (target.barycenter !== undefined) {
|
|
69
|
-
target.barycenter =
|
|
70
|
-
other.barycenter * other.weight) /
|
|
71
|
-
|
|
74
|
+
target.barycenter =
|
|
75
|
+
(target.barycenter * target.weight + other.barycenter * other.weight) /
|
|
76
|
+
(target.weight + other.weight);
|
|
72
77
|
target.weight += other.weight;
|
|
73
78
|
}
|
|
74
79
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-subgraph.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/sort-subgraph.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"sort-subgraph.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/sort-subgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { ConflictEntry } from "./resolve-conflicts";
|
|
2
|
+
declare const sort: (entries: ConflictEntry[], biasRight?: boolean | undefined, usePrev?: boolean | undefined) => {
|
|
3
|
+
vs: string[];
|
|
4
|
+
barycenter?: number | undefined;
|
|
5
|
+
weight?: number | undefined;
|
|
6
|
+
};
|
|
2
7
|
export default sort;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { partition } from "../util";
|
|
2
2
|
const sort = (entries, biasRight, usePrev) => {
|
|
3
|
-
const parts =
|
|
3
|
+
const parts = partition(entries, (entry) => {
|
|
4
4
|
// NOTE: 有fixorder的也可以排
|
|
5
5
|
return (entry.hasOwnProperty("fixorder") && !isNaN(entry.fixorder)) || entry.hasOwnProperty("barycenter");
|
|
6
6
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/sort.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/sort.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,48 @@
|
|
|
1
|
+
// deep first search with both order low for pre, lim for post
|
|
2
|
+
const dfsBothOrder = (g) => {
|
|
3
|
+
var _a;
|
|
4
|
+
const result = {};
|
|
5
|
+
let lim = 0;
|
|
6
|
+
const dfs = (v) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const low = lim;
|
|
9
|
+
(_a = g.children(v)) === null || _a === void 0 ? void 0 : _a.forEach(dfs);
|
|
10
|
+
result[v] = { low, lim: lim++ };
|
|
11
|
+
};
|
|
12
|
+
(_a = g.children()) === null || _a === void 0 ? void 0 : _a.forEach(dfs);
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
// Find a path from v to w through the lowest common ancestor (LCA). Return the
|
|
16
|
+
// full path and the LCA.
|
|
17
|
+
const findPath = (g, postorderNums, v, w) => {
|
|
18
|
+
const vPath = [];
|
|
19
|
+
const wPath = [];
|
|
20
|
+
const low = Math.min(postorderNums[v].low, postorderNums[w].low);
|
|
21
|
+
const lim = Math.max(postorderNums[v].lim, postorderNums[w].lim);
|
|
22
|
+
let parent;
|
|
23
|
+
let lca;
|
|
24
|
+
// Traverse up from v to find the LCA
|
|
25
|
+
parent = v;
|
|
26
|
+
do {
|
|
27
|
+
parent = g.parent(parent);
|
|
28
|
+
vPath.push(parent);
|
|
29
|
+
} while (parent &&
|
|
30
|
+
(postorderNums[parent].low > low || lim > postorderNums[parent].lim));
|
|
31
|
+
lca = parent;
|
|
32
|
+
// Traverse from w to LCA
|
|
33
|
+
parent = w;
|
|
34
|
+
while (parent && parent !== lca) {
|
|
35
|
+
wPath.push(parent);
|
|
36
|
+
parent = g.parent(parent);
|
|
37
|
+
}
|
|
38
|
+
return { lca, path: vPath.concat(wPath.reverse()) };
|
|
39
|
+
};
|
|
1
40
|
const parentDummyChains = (g) => {
|
|
2
41
|
var _a;
|
|
3
|
-
const postorderNums =
|
|
4
|
-
(_a = g.graph().dummyChains) === null || _a === void 0 ? void 0 : _a.forEach((
|
|
42
|
+
const postorderNums = dfsBothOrder(g);
|
|
43
|
+
(_a = g.graph().dummyChains) === null || _a === void 0 ? void 0 : _a.forEach((startV) => {
|
|
5
44
|
var _a, _b;
|
|
45
|
+
let v = startV;
|
|
6
46
|
let node = g.node(v);
|
|
7
47
|
const edgeObj = node.edgeObj;
|
|
8
48
|
if (!edgeObj)
|
|
@@ -16,9 +56,9 @@ const parentDummyChains = (g) => {
|
|
|
16
56
|
while (v !== edgeObj.w) {
|
|
17
57
|
node = g.node(v);
|
|
18
58
|
if (ascending) {
|
|
19
|
-
while (
|
|
20
|
-
g.node(pathV).maxRank < node.rank) {
|
|
59
|
+
while (pathV !== lca && ((_a = g.node(pathV)) === null || _a === void 0 ? void 0 : _a.maxRank) < node.rank) {
|
|
21
60
|
pathIdx++;
|
|
61
|
+
pathV = path[pathIdx];
|
|
22
62
|
}
|
|
23
63
|
if (pathV === lca) {
|
|
24
64
|
ascending = false;
|
|
@@ -26,53 +66,16 @@ const parentDummyChains = (g) => {
|
|
|
26
66
|
}
|
|
27
67
|
if (!ascending) {
|
|
28
68
|
while (pathIdx < path.length - 1 &&
|
|
29
|
-
((
|
|
69
|
+
((_b = g.node(path[pathIdx + 1])) === null || _b === void 0 ? void 0 : _b.minRank) <=
|
|
70
|
+
node.rank) {
|
|
30
71
|
pathIdx++;
|
|
31
72
|
}
|
|
32
73
|
pathV = path[pathIdx];
|
|
33
74
|
}
|
|
34
75
|
g.setParent(v, pathV);
|
|
35
|
-
|
|
36
|
-
v = (_b = g.successors(v)) === null || _b === void 0 ? void 0 : _b[0];
|
|
76
|
+
v = g.successors(v)[0];
|
|
37
77
|
}
|
|
38
78
|
});
|
|
39
79
|
};
|
|
40
|
-
// Find a path from v to w through the lowest common ancestor (LCA). Return the
|
|
41
|
-
// full path and the LCA.
|
|
42
|
-
const findPath = (g, postorderNums, v, w) => {
|
|
43
|
-
const vPath = [];
|
|
44
|
-
const wPath = [];
|
|
45
|
-
const low = Math.min(postorderNums[v].low, postorderNums[w].low);
|
|
46
|
-
const lim = Math.max(postorderNums[v].lim, postorderNums[w].lim);
|
|
47
|
-
let parent;
|
|
48
|
-
let lca;
|
|
49
|
-
// Traverse up from v to find the LCA
|
|
50
|
-
parent = v;
|
|
51
|
-
do {
|
|
52
|
-
parent = g.parent(parent);
|
|
53
|
-
vPath.push(parent);
|
|
54
|
-
} while (parent &&
|
|
55
|
-
(postorderNums[parent].low > low || lim > postorderNums[parent].lim));
|
|
56
|
-
lca = parent;
|
|
57
|
-
// Traverse from w to LCA
|
|
58
|
-
parent = w;
|
|
59
|
-
while ((parent = g.parent(parent)) !== lca) {
|
|
60
|
-
wPath.push(parent);
|
|
61
|
-
}
|
|
62
|
-
return { lca, path: vPath.concat(wPath.reverse()) };
|
|
63
|
-
};
|
|
64
|
-
const postorder = (g) => {
|
|
65
|
-
var _a;
|
|
66
|
-
const result = {};
|
|
67
|
-
let lim = 0;
|
|
68
|
-
const dfs = (v) => {
|
|
69
|
-
var _a;
|
|
70
|
-
const low = lim;
|
|
71
|
-
(_a = g.children(v)) === null || _a === void 0 ? void 0 : _a.forEach(dfs);
|
|
72
|
-
result[v] = { low, lim: lim++ };
|
|
73
|
-
};
|
|
74
|
-
(_a = g.children()) === null || _a === void 0 ? void 0 : _a.forEach(dfs);
|
|
75
|
-
return result;
|
|
76
|
-
};
|
|
77
80
|
export default parentDummyChains;
|
|
78
81
|
//# sourceMappingURL=parent-dummy-chains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-dummy-chains.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/parent-dummy-chains.ts"],"names":[],"mappings":"AAIA,MAAM,
|
|
1
|
+
{"version":3,"file":"parent-dummy-chains.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/parent-dummy-chains.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
declare
|
|
4
|
-
|
|
5
|
-
declare
|
|
6
|
-
declare const
|
|
7
|
-
declare const
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { Graph as RawGraph } from "@antv/graphlib";
|
|
2
|
+
import { Graph } from "../../graph";
|
|
3
|
+
declare class BlockGraph extends RawGraph<string, string, number> {
|
|
4
|
+
}
|
|
5
|
+
declare type Conflicts = Record<string, Record<string, boolean>>;
|
|
6
|
+
export declare const findType1Conflicts: (g: Graph, layering?: string[][] | undefined) => {};
|
|
7
|
+
export declare const findType2Conflicts: (g: Graph, layering?: string[][] | undefined) => {};
|
|
8
|
+
export declare const findOtherInnerSegmentNode: (g: Graph, v: string) => string | undefined;
|
|
9
|
+
export declare const addConflict: (conflicts: Conflicts, v: string, w: string) => void;
|
|
10
|
+
export declare const hasConflict: (conflicts: Conflicts, v: string, w: string) => boolean;
|
|
11
|
+
export declare const verticalAlignment: (g: Graph, layering: string[][], conflicts: Conflicts, neighborFn: (v: string) => string[]) => {
|
|
12
|
+
root: Record<string, string>;
|
|
13
|
+
align: Record<string, string>;
|
|
10
14
|
};
|
|
11
|
-
declare const horizontalCompaction: (g:
|
|
12
|
-
declare const
|
|
13
|
-
declare
|
|
14
|
-
declare
|
|
15
|
-
declare const
|
|
16
|
-
export
|
|
17
|
-
declare const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
findType2Conflicts: (g: IGraph, layering?: any) => {};
|
|
21
|
-
addConflict: (conflicts: any, v: number, w: number) => void;
|
|
22
|
-
hasConflict: (conflicts: any, v: number, w: number) => any;
|
|
23
|
-
verticalAlignment: (g: IGraph, layering: any, conflicts: any, neighborFn: (v: string) => unknown) => {
|
|
24
|
-
root: any;
|
|
25
|
-
align: any;
|
|
26
|
-
};
|
|
27
|
-
horizontalCompaction: (g: IGraph, layering: any, root: string, align: string[], reverseSep: boolean) => any;
|
|
28
|
-
alignCoordinates: typeof alignCoordinates;
|
|
29
|
-
findSmallestWidthAlignment: (g: IGraph, xss: any) => undefined;
|
|
30
|
-
balance: (xss: any, align: string) => any;
|
|
31
|
-
};
|
|
32
|
-
export default _default;
|
|
15
|
+
export declare const horizontalCompaction: (g: Graph, layering: string[][], root: Record<string, string>, align: Record<string, string>, reverseSep?: boolean | undefined) => Record<string, number>;
|
|
16
|
+
export declare const buildBlockGraph: (g: Graph, layering: string[][], root: Record<string, string>, reverseSep?: boolean | undefined) => BlockGraph;
|
|
17
|
+
export declare const findSmallestWidthAlignment: (g: Graph, xss: Record<string, Record<string, number>>) => Record<string, number>;
|
|
18
|
+
export declare function alignCoordinates(xss: Record<string, Record<string, number>>, alignTo: Record<string, number>): void;
|
|
19
|
+
export declare const balance: (xss: Record<string, Record<string, number>>, align?: string | undefined) => Record<string, number>;
|
|
20
|
+
export declare const positionX: (g: Graph) => Record<string, number>;
|
|
21
|
+
export declare const sep: (nodeSep: number, edgeSep: number, reverseSep: boolean) => (g: Graph, v: string, w: string) => number;
|
|
22
|
+
export declare const width: (g: Graph, v: string) => number;
|
|
23
|
+
export {};
|