@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
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Graph as RawGraph } from "@antv/graphlib";
|
|
2
|
+
export declare class Graph extends RawGraph<string, Node<Record<string, any>> & NodeConfig, Partial<EdgeConfig & Edge & GraphEdge>, Partial<GraphLabel>> {
|
|
3
|
+
}
|
|
4
|
+
export interface GraphLabel {
|
|
5
|
+
width?: number | undefined;
|
|
6
|
+
height?: number | undefined;
|
|
7
|
+
compound?: boolean | undefined;
|
|
8
|
+
rankdir?: string | undefined;
|
|
9
|
+
align?: string | undefined;
|
|
10
|
+
nodesep?: number | undefined;
|
|
11
|
+
edgesep?: number | undefined;
|
|
12
|
+
ranksep?: number | undefined;
|
|
13
|
+
marginx?: number | undefined;
|
|
14
|
+
marginy?: number | undefined;
|
|
15
|
+
acyclicer?: string | undefined;
|
|
16
|
+
ranker?: string | undefined;
|
|
17
|
+
maxRank?: number;
|
|
18
|
+
nestingRoot?: string;
|
|
19
|
+
nodeRankFactor?: number;
|
|
20
|
+
dummyChains?: string[];
|
|
21
|
+
root?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface NodeConfig {
|
|
24
|
+
width?: number | undefined;
|
|
25
|
+
height?: number | undefined;
|
|
26
|
+
}
|
|
27
|
+
export interface EdgeConfig {
|
|
28
|
+
minlen?: number | undefined;
|
|
29
|
+
weight?: number | undefined;
|
|
30
|
+
width?: number | undefined;
|
|
31
|
+
height?: number | undefined;
|
|
32
|
+
lablepos?: "l" | "c" | "r" | undefined;
|
|
33
|
+
labeloffest?: number | undefined;
|
|
34
|
+
}
|
|
35
|
+
export interface CustomConfig {
|
|
36
|
+
edgeLabelSpace?: boolean | undefined;
|
|
37
|
+
keepNodeOrder?: boolean | undefined;
|
|
38
|
+
nodeOrder?: string[] | undefined;
|
|
39
|
+
prevGraph?: Graph | undefined;
|
|
40
|
+
}
|
|
41
|
+
export declare type layout = (graph: Graph, layout?: GraphLabel & NodeConfig & EdgeConfig & CustomConfig) => void;
|
|
42
|
+
export interface Edge {
|
|
43
|
+
v: string;
|
|
44
|
+
w: string;
|
|
45
|
+
name?: string | undefined;
|
|
46
|
+
label?: any;
|
|
47
|
+
e?: any;
|
|
48
|
+
}
|
|
49
|
+
export interface GraphEdge {
|
|
50
|
+
points: {
|
|
51
|
+
x: number;
|
|
52
|
+
y: number;
|
|
53
|
+
}[];
|
|
54
|
+
[key: string]: any;
|
|
55
|
+
}
|
|
56
|
+
export declare type Node<T = {}> = T & {
|
|
57
|
+
x?: number;
|
|
58
|
+
y?: number;
|
|
59
|
+
width?: number;
|
|
60
|
+
height?: number;
|
|
61
|
+
class?: string | undefined;
|
|
62
|
+
label?: any;
|
|
63
|
+
padding?: number | undefined;
|
|
64
|
+
paddingX?: number | undefined;
|
|
65
|
+
paddingY?: number | undefined;
|
|
66
|
+
rx?: number | undefined;
|
|
67
|
+
ry?: number | undefined;
|
|
68
|
+
shape?: string | undefined;
|
|
69
|
+
order?: number;
|
|
70
|
+
rank?: number;
|
|
71
|
+
in?: number;
|
|
72
|
+
out?: number;
|
|
73
|
+
fixorder?: number;
|
|
74
|
+
_order?: number;
|
|
75
|
+
_rank?: number;
|
|
76
|
+
dummy?: string;
|
|
77
|
+
selfEdges?: any;
|
|
78
|
+
borderTop?: any;
|
|
79
|
+
borderBottom?: any;
|
|
80
|
+
borderLeft?: any;
|
|
81
|
+
borderRight?: any;
|
|
82
|
+
minRank?: number;
|
|
83
|
+
maxRank?: number;
|
|
84
|
+
layer?: number;
|
|
85
|
+
edgeLabel?: any;
|
|
86
|
+
edgeObj?: Edge;
|
|
87
|
+
borderType?: string;
|
|
88
|
+
labelpos?: string;
|
|
89
|
+
parent?: string;
|
|
90
|
+
lim?: number;
|
|
91
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.Graph = void 0;
|
|
19
|
+
var graphlib_1 = require("@antv/graphlib");
|
|
20
|
+
var Graph = /** @class */ (function (_super) {
|
|
21
|
+
__extends(Graph, _super);
|
|
22
|
+
function Graph() {
|
|
23
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
}
|
|
25
|
+
return Graph;
|
|
26
|
+
}(graphlib_1.Graph));
|
|
27
|
+
exports.Graph = Graph;
|
|
28
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/layout/dagre/graph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAmD;AAEnD;IAA2B,yBAK1B;IALD;;IAKG,CAAC;IAAD,YAAC;AAAD,CAAC,AALJ,CAA2B,gBAAQ,GAK/B;AALS,sBAAK"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
-
|
|
3
|
-
layout: (g: import("./graphlib").graphlib.Graph<{}>, opts: any) => void;
|
|
2
|
+
layout: (g: import("./graph").Graph, opts?: any) => void;
|
|
4
3
|
util: {
|
|
5
|
-
time: (name: string, fn: () =>
|
|
6
|
-
notime: (name: string, fn: () =>
|
|
4
|
+
time: (name: string, fn: () => void) => void;
|
|
5
|
+
notime: (name: string, fn: () => void) => void;
|
|
7
6
|
};
|
|
8
7
|
};
|
|
9
8
|
export default _default;
|
|
@@ -24,11 +24,9 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
24
24
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
25
25
|
THE SOFTWARE.
|
|
26
26
|
*/
|
|
27
|
-
var graphlib_1 = __importDefault(require("./src/graphlib"));
|
|
28
27
|
var layout_1 = __importDefault(require("./src/layout"));
|
|
29
28
|
var util_1 = require("./src/util");
|
|
30
29
|
exports.default = {
|
|
31
|
-
graphlib: graphlib_1.default,
|
|
32
30
|
layout: layout_1.default,
|
|
33
31
|
util: {
|
|
34
32
|
time: util_1.time,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/dagre/index.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/dagre/index.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;;;;;;;;;EAoBE;AACF,wDAAkC;AAClC,mCAA0C;AAE1C,kBAAe;IACb,MAAM,kBAAA;IACN,IAAI,EAAE;QACJ,IAAI,aAAA;QACJ,MAAM,eAAA;KACP;CACF,CAAC"}
|
|
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
var greedy_fas_1 = __importDefault(require("./greedy-fas"));
|
|
7
7
|
var run = function (g) {
|
|
8
8
|
var weightFn = function (g) {
|
|
9
|
-
return function (e) { return g.edge(e).weight; };
|
|
9
|
+
return function (e) { var _a; return ((_a = g.edge(e)) === null || _a === void 0 ? void 0 : _a.weight) || 1; };
|
|
10
10
|
};
|
|
11
|
-
var fas =
|
|
11
|
+
var fas = g.graph().acyclicer === "greedy" ? (0, greedy_fas_1.default)(g, weightFn(g)) : dfsFAS(g);
|
|
12
12
|
fas === null || fas === void 0 ? void 0 : fas.forEach(function (e) {
|
|
13
13
|
var label = g.edge(e);
|
|
14
|
-
g.
|
|
14
|
+
g.removeEdgeObj(e);
|
|
15
15
|
label.forwardName = e.name;
|
|
16
16
|
label.reversed = true;
|
|
17
|
-
g.setEdge(e.w, e.v, label, "rev-"
|
|
17
|
+
g.setEdge(e.w, e.v, label, "rev-".concat(Math.random()));
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
var dfsFAS = function (g) {
|
|
@@ -23,13 +23,13 @@ var dfsFAS = function (g) {
|
|
|
23
23
|
var visited = {};
|
|
24
24
|
var dfs = function (v) {
|
|
25
25
|
var _a;
|
|
26
|
-
if (visited
|
|
26
|
+
if (visited[v]) {
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
29
|
visited[v] = true;
|
|
30
30
|
stack[v] = true;
|
|
31
31
|
(_a = g.outEdges(v)) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
|
|
32
|
-
if (stack
|
|
32
|
+
if (stack[e.w]) {
|
|
33
33
|
fas.push(e);
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
@@ -45,7 +45,7 @@ var undo = function (g) {
|
|
|
45
45
|
g.edges().forEach(function (e) {
|
|
46
46
|
var label = g.edge(e);
|
|
47
47
|
if (label.reversed) {
|
|
48
|
-
g.
|
|
48
|
+
g.removeEdgeObj(e);
|
|
49
49
|
var forwardName = label.forwardName;
|
|
50
50
|
delete label.reversed;
|
|
51
51
|
delete label.forwardName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acyclic.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/acyclic.ts"],"names":[],"mappings":";;;;;AACA,4DAAqC;
|
|
1
|
+
{"version":3,"file":"acyclic.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/acyclic.ts"],"names":[],"mappings":";;;;;AACA,4DAAqC;AAErC,IAAM,GAAG,GAAG,UAAC,CAAQ;IACnB,IAAM,QAAQ,GAAG,UAAC,CAAQ;QACxB,OAAO,UAAC,CAAO,YAAK,OAAA,CAAA,MAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAE,MAAM,KAAI,CAAC,CAAA,EAAA,CAAC;IAC7C,CAAC,CAAC;IACF,IAAM,GAAG,GACP,CAAC,CAAC,KAAK,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,oBAAS,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,UAAC,CAAO;QACnB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACzB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAO,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,UAAC,CAAQ;IACtB,IAAM,GAAG,GAAW,EAAE,CAAC;IACvB,IAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,IAAM,GAAG,GAAG,UAAC,CAAS;;QACpB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,OAAO;SACR;QACD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAChB,MAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,UAAC,CAAC;YACvB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACd,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb;iBAAM;gBACL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACV;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,IAAM,IAAI,GAAG,UAAC,CAAQ;IACpB,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC;QAClB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAEnB,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YACtC,OAAO,KAAK,CAAC,QAAQ,CAAC;YACtB,OAAO,KAAK,CAAC,WAAW,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var util_1 =
|
|
3
|
+
var util_1 = require("./util");
|
|
7
4
|
var addBorderSegments = function (g) {
|
|
8
5
|
var _a;
|
|
9
6
|
var dfs = function (v) {
|
|
@@ -12,10 +9,10 @@ var addBorderSegments = function (g) {
|
|
|
12
9
|
if (children === null || children === void 0 ? void 0 : children.length) {
|
|
13
10
|
children.forEach(function (child) { return dfs(child); });
|
|
14
11
|
}
|
|
15
|
-
if (node.hasOwnProperty(
|
|
12
|
+
if (node.hasOwnProperty("minRank")) {
|
|
16
13
|
node.borderLeft = [];
|
|
17
14
|
node.borderRight = [];
|
|
18
|
-
for (var rank = node.minRank, maxRank = node.maxRank + 1; rank < maxRank;
|
|
15
|
+
for (var rank = node.minRank, maxRank = node.maxRank + 1; rank < maxRank; rank += 1) {
|
|
19
16
|
addBorderNode(g, "borderLeft", "_bl", v, node, rank);
|
|
20
17
|
addBorderNode(g, "borderRight", "_br", v, node, rank);
|
|
21
18
|
}
|
|
@@ -24,9 +21,9 @@ var addBorderSegments = function (g) {
|
|
|
24
21
|
(_a = g.children()) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { return dfs(child); });
|
|
25
22
|
};
|
|
26
23
|
var addBorderNode = function (g, prop, prefix, sg, sgNode, rank) {
|
|
27
|
-
var label = { rank: rank,
|
|
24
|
+
var label = { rank: rank, borderType: prop, width: 0, height: 0 };
|
|
28
25
|
var prev = sgNode[prop][rank - 1];
|
|
29
|
-
var curr = util_1.
|
|
26
|
+
var curr = (0, util_1.addDummyNode)(g, "border", label, prefix);
|
|
30
27
|
sgNode[prop][rank] = curr;
|
|
31
28
|
g.setParent(curr, sg);
|
|
32
29
|
if (prev) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-border-segments.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/add-border-segments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-border-segments.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/add-border-segments.ts"],"names":[],"mappings":";;AACA,+BAAsC;AAEtC,IAAM,iBAAiB,GAAG,UAAC,CAAQ;;IACjC,IAAM,GAAG,GAAG,UAAC,CAAS;QACpB,IAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAE;YACpB,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAK,IAAK,OAAA,GAAG,CAAC,KAAK,CAAC,EAAV,CAAU,CAAC,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KACE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,OAAQ,GAAG,CAAC,EACrD,IAAI,GAAG,OAAO,EACd,IAAI,IAAI,CAAC,EACT;gBACA,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACvD;SACF;IACH,CAAC,CAAC;IAEF,MAAA,CAAC,CAAC,QAAQ,EAAE,0CAAE,OAAO,CAAC,UAAC,KAAK,IAAK,OAAA,GAAG,CAAC,KAAK,CAAC,EAAV,CAAU,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG,UACpB,CAAQ,EACR,IAAY,EACZ,MAAc,EACd,EAAU,EACV,MAAiC,EACjC,IAAY;IAEZ,IAAM,KAAK,GAAG,EAAE,IAAI,MAAA,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC9D,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACpC,IAAM,IAAI,GAAG,IAAA,mBAAY,EAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtB,IAAI,IAAI,EAAE;QACR,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;KACtC;AACH,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -19,8 +19,12 @@ var undo = function (g) {
|
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
var swapWidthHeight = function (g) {
|
|
22
|
-
g.nodes().forEach(function (v) {
|
|
23
|
-
|
|
22
|
+
g.nodes().forEach(function (v) {
|
|
23
|
+
swapWidthHeightOne(g.node(v));
|
|
24
|
+
});
|
|
25
|
+
g.edges().forEach(function (e) {
|
|
26
|
+
swapWidthHeightOne(g.edge(e));
|
|
27
|
+
});
|
|
24
28
|
};
|
|
25
29
|
var swapWidthHeightOne = function (attrs) {
|
|
26
30
|
var w = attrs.width;
|
|
@@ -28,7 +32,9 @@ var swapWidthHeightOne = function (attrs) {
|
|
|
28
32
|
attrs.height = w;
|
|
29
33
|
};
|
|
30
34
|
var reverseY = function (g) {
|
|
31
|
-
g.nodes().forEach(function (v) {
|
|
35
|
+
g.nodes().forEach(function (v) {
|
|
36
|
+
reverseYOne(g.node(v));
|
|
37
|
+
});
|
|
32
38
|
g.edges().forEach(function (e) {
|
|
33
39
|
var _a;
|
|
34
40
|
var edge = g.edge(e);
|
|
@@ -39,10 +45,14 @@ var reverseY = function (g) {
|
|
|
39
45
|
});
|
|
40
46
|
};
|
|
41
47
|
var reverseYOne = function (attrs) {
|
|
42
|
-
attrs
|
|
48
|
+
if (attrs === null || attrs === void 0 ? void 0 : attrs.y) {
|
|
49
|
+
attrs.y = -attrs.y;
|
|
50
|
+
}
|
|
43
51
|
};
|
|
44
52
|
var swapXY = function (g) {
|
|
45
|
-
g.nodes().forEach(function (v) {
|
|
53
|
+
g.nodes().forEach(function (v) {
|
|
54
|
+
swapXYOne(g.node(v));
|
|
55
|
+
});
|
|
46
56
|
g.edges().forEach(function (e) {
|
|
47
57
|
var _a;
|
|
48
58
|
var edge = g.edge(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinate-system.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/coordinate-system.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"coordinate-system.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/coordinate-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
declare
|
|
2
|
-
|
|
1
|
+
declare type LinkedNode<T> = {
|
|
2
|
+
prev?: LinkedNode<T>;
|
|
3
|
+
next?: LinkedNode<T>;
|
|
4
|
+
} & T;
|
|
5
|
+
export default class List<T> {
|
|
6
|
+
shortcut: LinkedNode<T>;
|
|
3
7
|
constructor();
|
|
4
|
-
dequeue():
|
|
5
|
-
enqueue():
|
|
8
|
+
dequeue(): LinkedNode<T> | undefined;
|
|
9
|
+
enqueue(entry: LinkedNode<T>): void;
|
|
6
10
|
toString(): string;
|
|
7
11
|
}
|
|
8
|
-
export
|
|
12
|
+
export {};
|
|
@@ -1,51 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Simple doubly linked list implementation derived from Cormen, et al.,
|
|
4
|
-
* "Introduction to Algorithms".
|
|
5
|
-
*/
|
|
6
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
var unlink = function (entry) {
|
|
8
|
-
entry._prev._next = entry._next;
|
|
9
|
-
entry._next._prev = entry._prev;
|
|
10
|
-
delete entry._next;
|
|
11
|
-
delete entry._prev;
|
|
12
|
-
};
|
|
13
3
|
var filterOutLinks = function (k, v) {
|
|
14
|
-
if (k !== "
|
|
4
|
+
if (k !== "next" && k !== "prev") {
|
|
15
5
|
return v;
|
|
16
6
|
}
|
|
17
7
|
};
|
|
8
|
+
var unlink = function (entry) {
|
|
9
|
+
entry.prev.next = entry.next;
|
|
10
|
+
entry.next.prev = entry.prev;
|
|
11
|
+
delete entry.next;
|
|
12
|
+
delete entry.prev;
|
|
13
|
+
};
|
|
18
14
|
var List = /** @class */ (function () {
|
|
19
15
|
function List() {
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
var shortcut = {};
|
|
17
|
+
shortcut.prev = shortcut;
|
|
18
|
+
shortcut.next = shortcut.prev;
|
|
19
|
+
this.shortcut = shortcut;
|
|
23
20
|
}
|
|
24
21
|
List.prototype.dequeue = function () {
|
|
25
|
-
var
|
|
26
|
-
var entry =
|
|
27
|
-
if (entry !==
|
|
22
|
+
var shortcut = this.shortcut;
|
|
23
|
+
var entry = shortcut.prev;
|
|
24
|
+
if (entry && entry !== shortcut) {
|
|
28
25
|
unlink(entry);
|
|
29
26
|
return entry;
|
|
30
27
|
}
|
|
31
28
|
};
|
|
32
|
-
List.prototype.enqueue = function () {
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
if (entry !== sentinel) {
|
|
29
|
+
List.prototype.enqueue = function (entry) {
|
|
30
|
+
var shortcut = this.shortcut;
|
|
31
|
+
if (entry.prev && entry.next) {
|
|
36
32
|
unlink(entry);
|
|
37
|
-
return entry;
|
|
38
33
|
}
|
|
34
|
+
entry.next = shortcut.next;
|
|
35
|
+
shortcut.next.prev = entry;
|
|
36
|
+
shortcut.next = entry;
|
|
37
|
+
entry.prev = shortcut;
|
|
39
38
|
};
|
|
40
39
|
List.prototype.toString = function () {
|
|
41
40
|
var strs = [];
|
|
42
|
-
var sentinel = this.
|
|
43
|
-
var curr = sentinel.
|
|
41
|
+
var sentinel = this.shortcut;
|
|
42
|
+
var curr = sentinel.prev;
|
|
44
43
|
while (curr !== sentinel) {
|
|
45
44
|
strs.push(JSON.stringify(curr, filterOutLinks));
|
|
46
|
-
curr = curr.
|
|
45
|
+
curr = curr === null || curr === void 0 ? void 0 : curr.prev;
|
|
47
46
|
}
|
|
48
|
-
return "["
|
|
47
|
+
return "[".concat(strs.join(", "), "]");
|
|
49
48
|
};
|
|
50
49
|
return List;
|
|
51
50
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/data/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/data/list.ts"],"names":[],"mappings":";;AAAA,IAAM,cAAc,GAAG,UAAC,CAAS,EAAE,CAAS;IAC1C,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,EAAE;QAChC,OAAO,CAAC,CAAC;KACV;AACH,CAAC,CAAC;AAOF,IAAM,MAAM,GAAG,UAAI,KAAoB;IACrC,KAAK,CAAC,IAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC9B,KAAK,CAAC,IAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC,CAAC;AAEF;IAIE;QACE,IAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,sBAAO,GAAd;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC5B,IAAI,KAAK,IAAI,KAAK,KAAK,QAAQ,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEM,sBAAO,GAAd,UAAe,KAAoB;QACjC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;QACD,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,QAAQ,CAAC,IAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACxB,CAAC;IAEM,uBAAQ,GAAf;QACE,IAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,OAAO,IAAI,KAAK,QAAQ,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;YAChD,IAAI,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC;SACnB;QACD,OAAO,WAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;IAChC,CAAC;IACH,WAAC;AAAD,CAAC,AAzCD,IAyCC"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var Graph = graphlib_1.default.Graph;
|
|
9
|
-
/* istanbul ignore next */
|
|
3
|
+
var graph_1 = require("../graph");
|
|
4
|
+
var util_1 = require("./util");
|
|
10
5
|
var debugOrdering = function (g) {
|
|
11
|
-
var layerMatrix = util_1.
|
|
12
|
-
var h = new Graph({ compound: true, multigraph: true }).setGraph({});
|
|
6
|
+
var layerMatrix = (0, util_1.buildLayerMatrix)(g);
|
|
7
|
+
var h = new graph_1.Graph({ compound: true, multigraph: true }).setGraph({});
|
|
13
8
|
g.nodes().forEach(function (v) {
|
|
14
9
|
h.setNode(v, { label: v });
|
|
15
|
-
h.setParent(v, "layer"
|
|
10
|
+
h.setParent(v, "layer".concat(g.node(v).rank));
|
|
16
11
|
});
|
|
17
12
|
g.edges().forEach(function (e) {
|
|
18
13
|
h.setEdge(e.v, e.w, {}, e.name);
|
|
19
14
|
});
|
|
20
15
|
layerMatrix === null || layerMatrix === void 0 ? void 0 : layerMatrix.forEach(function (layer, i) {
|
|
21
|
-
var layerV = "layer"
|
|
16
|
+
var layerV = "layer".concat(i);
|
|
22
17
|
h.setNode(layerV, { rank: "same" });
|
|
23
18
|
layer === null || layer === void 0 ? void 0 : layer.reduce(function (u, v) {
|
|
24
19
|
h.setEdge(u, v, { style: "invis" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/debug.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/debug.ts"],"names":[],"mappings":";;AAAA,kCAAiC;AACjC,+BAA0C;AAE1C,IAAM,aAAa,GAAG,UAAC,CAAQ;IAC7B,IAAM,WAAW,GAAG,IAAA,uBAAgB,EAAC,CAAC,CAAC,CAAC;IAExC,IAAM,CAAC,GAAG,IAAI,aAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,CAAS;QAC1B,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,eAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,UAAC,KAAK,EAAE,CAAS;QACpC,IAAM,MAAM,GAAG,eAAQ,CAAC,CAAE,CAAC;QAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAA2B,EAAE,CAAC,CAAC;QACzD,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,UAAC,CAAS,EAAE,CAAS;YACjC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare
|
|
3
|
-
declare const greedyFAS: (g: IGraph, weightFn: () => unknown) => (import("../graphlib").Edge | undefined)[];
|
|
1
|
+
import { Edge, Graph } from "../graph";
|
|
2
|
+
declare const greedyFAS: (g: Graph, weightFn?: ((e: Edge) => number) | undefined) => (import("@antv/graphlib/lib/Graph").DefaultEdgeType<string, Partial<import("../graph").EdgeConfig & Edge & import("../graph").GraphEdge>> | undefined)[];
|
|
4
3
|
export default greedyFAS;
|
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
2
17
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
19
|
};
|
|
5
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var graphlib_1 = __importDefault(require("./graphlib"));
|
|
7
21
|
var list_1 = __importDefault(require("./data/list"));
|
|
8
|
-
var
|
|
22
|
+
var graphlib_1 = require("@antv/graphlib");
|
|
23
|
+
var List = /** @class */ (function (_super) {
|
|
24
|
+
__extends(List, _super);
|
|
25
|
+
function List() {
|
|
26
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
27
|
+
}
|
|
28
|
+
return List;
|
|
29
|
+
}(list_1.default));
|
|
30
|
+
var StateGraph = /** @class */ (function (_super) {
|
|
31
|
+
__extends(StateGraph, _super);
|
|
32
|
+
function StateGraph() {
|
|
33
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
34
|
+
}
|
|
35
|
+
return StateGraph;
|
|
36
|
+
}(graphlib_1.Graph));
|
|
9
37
|
/*
|
|
10
38
|
* A greedy heuristic for finding a feedback arc set for a graph. A feedback
|
|
11
39
|
* arc set is a set of edges that can be removed to make a graph acyclic.
|
|
@@ -13,7 +41,6 @@ var Graph = graphlib_1.default.Graph;
|
|
|
13
41
|
* effective heuristic for the feedback arc set problem." This implementation
|
|
14
42
|
* adjusts that from the paper to allow for weighted edges.
|
|
15
43
|
*/
|
|
16
|
-
// module.exports = greedyFAS;
|
|
17
44
|
var DEFAULT_WEIGHT_FN = function () { return 1; };
|
|
18
45
|
var greedyFAS = function (g, weightFn) {
|
|
19
46
|
var _a;
|
|
@@ -21,8 +48,6 @@ var greedyFAS = function (g, weightFn) {
|
|
|
21
48
|
return [];
|
|
22
49
|
var state = buildState(g, weightFn || DEFAULT_WEIGHT_FN);
|
|
23
50
|
var results = doGreedyFAS(state.graph, state.buckets, state.zeroIdx);
|
|
24
|
-
// Expand multi-edges
|
|
25
|
-
// @ts-ignore
|
|
26
51
|
return (_a = results.map(function (e) { return g.outEdges(e.v, e.w); })) === null || _a === void 0 ? void 0 : _a.flat();
|
|
27
52
|
};
|
|
28
53
|
var doGreedyFAS = function (g, buckets, zeroIdx) {
|
|
@@ -51,12 +76,13 @@ var doGreedyFAS = function (g, buckets, zeroIdx) {
|
|
|
51
76
|
};
|
|
52
77
|
var removeNode = function (g, buckets, zeroIdx, entry, collectPredecessors) {
|
|
53
78
|
var _a, _b;
|
|
54
|
-
var results =
|
|
79
|
+
var results = [];
|
|
55
80
|
(_a = g.inEdges(entry.v)) === null || _a === void 0 ? void 0 : _a.forEach(function (edge) {
|
|
56
81
|
var weight = g.edge(edge);
|
|
57
82
|
var uEntry = g.node(edge.v);
|
|
58
83
|
if (collectPredecessors) {
|
|
59
|
-
|
|
84
|
+
// this result not really care about in or out
|
|
85
|
+
results.push({ v: edge.v, w: edge.w, in: 0, out: 0 });
|
|
60
86
|
}
|
|
61
87
|
if (uEntry.out === undefined)
|
|
62
88
|
uEntry.out = 0;
|
|
@@ -73,29 +99,29 @@ var removeNode = function (g, buckets, zeroIdx, entry, collectPredecessors) {
|
|
|
73
99
|
assignBucket(buckets, zeroIdx, wEntry);
|
|
74
100
|
});
|
|
75
101
|
g.removeNode(entry.v);
|
|
76
|
-
return results;
|
|
102
|
+
return collectPredecessors ? results : undefined;
|
|
77
103
|
};
|
|
78
104
|
var buildState = function (g, weightFn) {
|
|
79
|
-
var fasGraph = new
|
|
105
|
+
var fasGraph = new StateGraph();
|
|
80
106
|
var maxIn = 0;
|
|
81
107
|
var maxOut = 0;
|
|
82
108
|
g.nodes().forEach(function (v) {
|
|
83
|
-
fasGraph.setNode(v, { v: v,
|
|
109
|
+
fasGraph.setNode(v, { v: v, in: 0, out: 0 });
|
|
84
110
|
});
|
|
85
111
|
// Aggregate weights on nodes, but also sum the weights across multi-edges
|
|
86
112
|
// into a single edge for the fasGraph.
|
|
87
113
|
g.edges().forEach(function (e) {
|
|
88
|
-
var prevWeight = fasGraph.edge(e
|
|
89
|
-
var weight = weightFn === null || weightFn === void 0 ? void 0 : weightFn(e);
|
|
114
|
+
var prevWeight = fasGraph.edge(e) || 0;
|
|
115
|
+
var weight = (weightFn === null || weightFn === void 0 ? void 0 : weightFn(e)) || 1;
|
|
90
116
|
var edgeWeight = prevWeight + weight;
|
|
91
117
|
fasGraph.setEdge(e.v, e.w, edgeWeight);
|
|
92
|
-
maxOut = Math.max(maxOut, fasGraph.node(e.v).out += weight);
|
|
93
|
-
maxIn = Math.max(maxIn, fasGraph.node(e.w)
|
|
118
|
+
maxOut = Math.max(maxOut, (fasGraph.node(e.v).out += weight));
|
|
119
|
+
maxIn = Math.max(maxIn, (fasGraph.node(e.w).in += weight));
|
|
94
120
|
});
|
|
95
121
|
var buckets = [];
|
|
96
122
|
var rangeMax = maxOut + maxIn + 3;
|
|
97
123
|
for (var i = 0; i < rangeMax; i++) {
|
|
98
|
-
buckets.push(new
|
|
124
|
+
buckets.push(new List());
|
|
99
125
|
}
|
|
100
126
|
var zeroIdx = maxIn + 1;
|
|
101
127
|
fasGraph.nodes().forEach(function (v) {
|