Skip to content

Commit 1d9c2aa

Browse files
#6186 Fix for flowchart new syntax with link
1 parent 04800ff commit 1d9c2aa

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

cypress/integration/rendering/flowchart-v2.spec.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,5 +1103,14 @@ end
11031103
{}
11041104
);
11051105
});
1106+
it('should be possible to use @ syntax to add labels with trail spaces and edge/link', () => {
1107+
imgSnapshotTest(
1108+
`flowchart TD
1109+
A["A"] --> B["for B"] & C@{ label: "for c"} & E@{label : "for E"}
1110+
D@{label: "for D"}
1111+
`,
1112+
{}
1113+
);
1114+
});
11061115
});
11071116
});

packages/mermaid/src/diagrams/flowchart/parser/flow-node-data.spec.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,21 @@ describe('when parsing directions', function () {
302302
expect(data4Layout.nodes[1].label).toEqual('labe for n4');
303303
expect(data4Layout.nodes[2].label).toEqual('labe for n5');
304304
});
305+
306+
it('should be possible to use @ syntax to add labels on multi nodes with edge/link', function () {
307+
const res = flow.parser.parse(`flowchart TD
308+
A["A"] --> B["for B"] & C@{ label: "for c"} & E@{label : "for E"}
309+
D@{label: "for D"}
310+
`);
311+
312+
const data4Layout = flow.parser.yy.getData();
313+
expect(data4Layout.nodes.length).toBe(5);
314+
expect(data4Layout.nodes[0].label).toEqual('A');
315+
expect(data4Layout.nodes[1].label).toEqual('for B');
316+
expect(data4Layout.nodes[2].label).toEqual('for c');
317+
expect(data4Layout.nodes[3].label).toEqual('for E');
318+
expect(data4Layout.nodes[4].label).toEqual('for D');
319+
});
305320
it.skip(' should be possible to use @ syntax to add labels with trail spaces', function () {
306321
const res = flow.parser.parse(
307322
`flowchart TB

packages/mermaid/src/diagrams/flowchart/parser/flow.jison

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ shapeData:
399399
;
400400

401401
vertexStatement: vertexStatement link node shapeData
402-
{ /* console.warn('vs shapeData',$vertexStatement.stmt,$node, $shapeData);*/ yy.addVertex($node[0],undefined,undefined,undefined, undefined,undefined, undefined,$shapeData); yy.addLink($vertexStatement.stmt,$node,$link); $$ = { stmt: $node, nodes: $node.concat($vertexStatement.nodes) } }
402+
{ /* console.warn('vs shapeData',$vertexStatement.stmt,$node, $shapeData);*/ yy.addVertex($node[$node.length-1],undefined,undefined,undefined, undefined,undefined, undefined,$shapeData); yy.addLink($vertexStatement.stmt,$node,$link); $$ = { stmt: $node, nodes: $node.concat($vertexStatement.nodes) } }
403403
| vertexStatement link node
404404
{ /*console.warn('vs',$vertexStatement.stmt,$node);*/ yy.addLink($vertexStatement.stmt,$node,$link); $$ = { stmt: $node, nodes: $node.concat($vertexStatement.nodes) } }
405405
| vertexStatement link node spaceList

0 commit comments

Comments
 (0)