20260927215912
This commit is contained in:
1 parent
27e49e2e45
commit
f22e67fc85
294 files changed
+29247
-3576
No files matched your search
@@ -30,7 +30,9 @@ describe('一键整理的布局后处理', () => {
|
||||
],
|
||||
}
|
||||
|
||||
const moved = spreadBranchNodes(graph)
|
||||
const moved = spreadBranchNodes(graph, {
|
||||
defaultExitTargets: defaultExits({ amount_gateway: ['finance_review'] }),
|
||||
})
|
||||
|
||||
expect(moved.has('gm_approve')).toBe(true)
|
||||
// 线在 x=200(金额判断与财务复核同列),旁支被推到线右侧、留白 120
|
||||
@@ -54,7 +56,9 @@ describe('一键整理的布局后处理', () => {
|
||||
],
|
||||
}
|
||||
|
||||
spreadBranchNodes(graph)
|
||||
spreadBranchNodes(graph, {
|
||||
defaultExitTargets: defaultExits({ amount_gateway: ['finance_review'] }),
|
||||
})
|
||||
|
||||
expect(graph.nodes[1].text.x).toBe(graph.nodes[1].x)
|
||||
expect(graph.nodes[0].text.x).toBe(200)
|
||||
@@ -218,4 +222,35 @@ describe('一键整理的布局后处理', () => {
|
||||
|
||||
expect(graph.nodes[0].x).toBe(0)
|
||||
})
|
||||
|
||||
it('条件网关两条都是显式条件、没有兜底时,两条支线左右分开、主干走到汇合点', () => {
|
||||
const graph = {
|
||||
nodes: [
|
||||
node('start', 'fms-start', 0, 0, 52, 52),
|
||||
node('gateway', 'fms-exclusive-gateway', 0, 100, 68, 68),
|
||||
node('left', 'fms-user-task', -200, 200, 160, 48),
|
||||
node('right', 'fms-user-task', 200, 200, 160, 48),
|
||||
node('join', 'fms-user-task', 0, 300, 160, 48),
|
||||
],
|
||||
edges: [
|
||||
edge('e1', 'start', 'gateway'),
|
||||
edge('e2', 'gateway', 'left'),
|
||||
edge('e3', 'gateway', 'right'),
|
||||
edge('e4', 'left', 'join'),
|
||||
edge('e5', 'right', 'join'),
|
||||
],
|
||||
}
|
||||
|
||||
const moved = spreadBranchNodes(graph)
|
||||
|
||||
// 没有默认出口,主干跳过两条支线直接走到汇合点,两条支线都算旁支
|
||||
expect(moved.has('left')).toBe(true)
|
||||
expect(moved.has('right')).toBe(true)
|
||||
expect(graph.nodes[1].x).toBe(0)
|
||||
// 左右各留白 120:86 + (120 - 86)
|
||||
expect(graph.nodes[2].x).toBe(-234)
|
||||
expect(graph.nodes[3].x).toBe(234)
|
||||
// 汇合点在主轴上,不动
|
||||
expect(graph.nodes[4].x).toBe(0)
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user