mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-03 07:36:41 +02:00
Merge pull request #6886 from mermaid-js/6721/Bidirectional-arrows--render-incorrectly-with-autonumber-in-sequence-diagrams
6721: Correct rendering of bidirectional arrows with auto number
This commit is contained in:
5
.changeset/crazy-loops-matter.md
Normal file
5
.changeset/crazy-loops-matter.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
'mermaid': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fix: Handle arrows correctly when auto number is enabled
|
@@ -893,6 +893,17 @@ describe('Sequence diagram', () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should handle bidirectional arrows with autonumber', () => {
|
||||||
|
imgSnapshotTest(`
|
||||||
|
sequenceDiagram
|
||||||
|
autonumber
|
||||||
|
participant A
|
||||||
|
participant B
|
||||||
|
A<<->>B: This is a bidirectional message
|
||||||
|
A->B: This is a normal message`);
|
||||||
|
});
|
||||||
|
|
||||||
it('should support actor links and properties when not mirrored EXPERIMENTAL: USE WITH CAUTION', () => {
|
it('should support actor links and properties when not mirrored EXPERIMENTAL: USE WITH CAUTION', () => {
|
||||||
//Be aware that the syntax for "properties" is likely to be changed.
|
//Be aware that the syntax for "properties" is likely to be changed.
|
||||||
imgSnapshotTest(
|
imgSnapshotTest(
|
||||||
|
@@ -476,7 +476,29 @@ const drawMessage = async function (diagram, msgModel, lineStartY: number, diagO
|
|||||||
|
|
||||||
// add node number
|
// add node number
|
||||||
if (sequenceVisible || conf.showSequenceNumbers) {
|
if (sequenceVisible || conf.showSequenceNumbers) {
|
||||||
line.attr('marker-start', 'url(' + url + '#sequencenumber)');
|
const isBidirectional =
|
||||||
|
type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID ||
|
||||||
|
type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED;
|
||||||
|
|
||||||
|
if (isBidirectional) {
|
||||||
|
const SEQUENCE_NUMBER_RADIUS = 6;
|
||||||
|
|
||||||
|
if (startx < stopx) {
|
||||||
|
line.attr('x1', startx + 2 * SEQUENCE_NUMBER_RADIUS);
|
||||||
|
} else {
|
||||||
|
line.attr('x1', startx + SEQUENCE_NUMBER_RADIUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
diagram
|
||||||
|
.append('line')
|
||||||
|
.attr('x1', startx)
|
||||||
|
.attr('y1', lineStartY)
|
||||||
|
.attr('x2', startx)
|
||||||
|
.attr('y2', lineStartY)
|
||||||
|
.attr('stroke-width', 0)
|
||||||
|
.attr('marker-start', 'url(' + url + '#sequencenumber)');
|
||||||
|
|
||||||
diagram
|
diagram
|
||||||
.append('text')
|
.append('text')
|
||||||
.attr('x', startx)
|
.attr('x', startx)
|
||||||
|
Reference in New Issue
Block a user