08-27-周三_17-09-29

This commit is contained in:
2025-08-27 17:10:05 +08:00
commit 86df397d8f
12735 changed files with 1145479 additions and 0 deletions

39
node_modules/dagre-layout/lib/add-border-segments.js generated vendored Normal file
View File

@@ -0,0 +1,39 @@
import _ from 'lodash'
import util from './util'
function addBorderSegments (g) {
function dfs (v) {
const children = g.children(v)
const node = g.node(v)
if (children.length) {
_.forEach(children, dfs)
}
if (_.has(node, 'minRank')) {
node.borderLeft = []
node.borderRight = []
for (let 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) {
const label = { width: 0, height: 0, rank: rank, borderType: prop }
const prev = sgNode[prop][rank - 1]
const curr = util.addDummyNode(g, 'border', label, prefix)
sgNode[prop][rank] = curr
g.setParent(curr, sg)
if (prev) {
g.setEdge(prev, curr, { weight: 1 })
}
}
export default addBorderSegments