@antv/layout 0.3.3 → 0.3.4
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.map +1 -1
- package/es/layout/dagre/src/rank/util.js +4 -0
- package/es/layout/dagre/src/rank/util.js.map +1 -1
- package/lib/layout/dagre/src/rank/util.js +4 -0
- package/lib/layout/dagre/src/rank/util.js.map +1 -1
- package/package.json +1 -1
- package/src/layout/dagre/src/rank/util.ts +4 -0
|
@@ -86,6 +86,7 @@ const longestPathWithLayer = (g) => {
|
|
|
86
86
|
}
|
|
87
87
|
// minRank += 1; // NOTE: 最小的层级是dummy root,+1
|
|
88
88
|
// forward一遍,赋值层级
|
|
89
|
+
const forwardVisited = {};
|
|
89
90
|
const dfsForward = (v, nextRank) => {
|
|
90
91
|
var _a;
|
|
91
92
|
const label = g.node(v);
|
|
@@ -94,6 +95,9 @@ const longestPathWithLayer = (g) => {
|
|
|
94
95
|
if (label.rank === undefined || label.rank < currRank) {
|
|
95
96
|
label.rank = currRank;
|
|
96
97
|
}
|
|
98
|
+
if (forwardVisited[v])
|
|
99
|
+
return;
|
|
100
|
+
forwardVisited[v] = true;
|
|
97
101
|
// DFS遍历子节点
|
|
98
102
|
(_a = g.outEdges(v)) === null || _a === void 0 ? void 0 : _a.map((e) => {
|
|
99
103
|
dfsForward(e.w, currRank + g.edge(e).minlen);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,6 +90,7 @@ var longestPathWithLayer = function (g) {
|
|
|
90
90
|
}
|
|
91
91
|
// minRank += 1; // NOTE: 最小的层级是dummy root,+1
|
|
92
92
|
// forward一遍,赋值层级
|
|
93
|
+
var forwardVisited = {};
|
|
93
94
|
var dfsForward = function (v, nextRank) {
|
|
94
95
|
var _a;
|
|
95
96
|
var label = g.node(v);
|
|
@@ -98,6 +99,9 @@ var longestPathWithLayer = function (g) {
|
|
|
98
99
|
if (label.rank === undefined || label.rank < currRank) {
|
|
99
100
|
label.rank = currRank;
|
|
100
101
|
}
|
|
102
|
+
if (forwardVisited[v])
|
|
103
|
+
return;
|
|
104
|
+
forwardVisited[v] = true;
|
|
101
105
|
// DFS遍历子节点
|
|
102
106
|
(_a = g.outEdges(v)) === null || _a === void 0 ? void 0 : _a.map(function (e) {
|
|
103
107
|
dfsForward(e.w, currRank + g.edge(e).minlen);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/util.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,IAAM,WAAW,GAAG,UAAC,CAAQ;;IAC3B,IAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,IAAM,GAAG,GAAG,UAAC,CAAS;;QACpB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,OAAO,KAAK,CAAC,IAAK,CAAC;SACpB;QACD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAElB,IAAI,IAAY,CAAC;QAEjB,MAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,OAAO,CACpB,UAAC,OAAO;YACN,IAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC,MAAO,CAAC;YACxC,IAAM,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,EAAE;gBACL,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,IAAI,EAAE;oBAClC,IAAI,GAAG,CAAC,CAAC;iBACV;aACF;QACH,CAAC,CACF,CAAC;QAGF,IAAI,CAAC,IAAK,EAAE;YACV,IAAI,GAAG,CAAC,CAAC;SACV;QAED,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAA,CAAC,CAAC,OAAO,EAAE,0CAAE,OAAO,CAAC,UAAC,MAAM,IAAK,OAAA,GAAG,CAAC,MAAM,CAAC,EAAX,CAAW,CAAC,CAAC;AAChD,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/rank/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -107,6 +107,7 @@ const longestPathWithLayer = (g: Graph) => {
|
|
|
107
107
|
// minRank += 1; // NOTE: 最小的层级是dummy root,+1
|
|
108
108
|
|
|
109
109
|
// forward一遍,赋值层级
|
|
110
|
+
const forwardVisited: Record<string, boolean> = {};
|
|
110
111
|
const dfsForward = (v: string, nextRank: number) => {
|
|
111
112
|
const label = g.node(v)!;
|
|
112
113
|
|
|
@@ -119,6 +120,9 @@ const longestPathWithLayer = (g: Graph) => {
|
|
|
119
120
|
label.rank = currRank;
|
|
120
121
|
}
|
|
121
122
|
|
|
123
|
+
if (forwardVisited[v]) return;
|
|
124
|
+
forwardVisited[v] = true;
|
|
125
|
+
|
|
122
126
|
// DFS遍历子节点
|
|
123
127
|
g.outEdges(v)?.map((e) => {
|
|
124
128
|
dfsForward(e.w, currRank + g.edge(e)!.minlen!);
|