feat(ui): add type filter toggles
This commit is contained in:
38
node_modules/dagre/lib/add-border-segments.js
generated
vendored
Normal file
38
node_modules/dagre/lib/add-border-segments.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
var _ = require("./lodash");
|
||||
var util = require("./util");
|
||||
|
||||
module.exports = addBorderSegments;
|
||||
|
||||
function addBorderSegments(g) {
|
||||
function dfs(v) {
|
||||
var children = g.children(v);
|
||||
var node = g.node(v);
|
||||
if (children.length) {
|
||||
_.forEach(children, dfs);
|
||||
}
|
||||
|
||||
if (_.has(node, "minRank")) {
|
||||
node.borderLeft = [];
|
||||
node.borderRight = [];
|
||||
for (var rank = node.minRank, maxRank = node.maxRank + 1;
|
||||
rank < maxRank;
|
||||
++rank) {
|
||||
addBorderNode(g, "borderLeft", "_bl", v, node, rank);
|
||||
addBorderNode(g, "borderRight", "_br", v, node, rank);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_.forEach(g.children(), dfs);
|
||||
}
|
||||
|
||||
function addBorderNode(g, prop, prefix, sg, sgNode, rank) {
|
||||
var label = { width: 0, height: 0, rank: rank, borderType: prop };
|
||||
var prev = sgNode[prop][rank - 1];
|
||||
var curr = util.addDummyNode(g, "border", label, prefix);
|
||||
sgNode[prop][rank] = curr;
|
||||
g.setParent(curr, sg);
|
||||
if (prev) {
|
||||
g.setEdge(prev, curr, { weight: 1 });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user