Skip to content

Commit

Permalink
Merge pull request #5017 from ad1992/bug/4946-fix-svg-order-sequence-…
Browse files Browse the repository at this point in the history
…participant

fix: render the participants in same order as they are created
  • Loading branch information
sidharthv96 authored Nov 14, 2023
2 parents 6d0d8ac + 01bbcc5 commit 5fdbf5d
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
7 changes: 7 additions & 0 deletions demos/sequence.html
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,13 @@ <h1>Sequence diagram demos</h1>
end
</pre>

<pre class="mermaid">
sequenceDiagram
actor Alice
actor John
Alice-xJohn: Hello John, how are you?
John--xAlice: Great!
</pre>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
Expand Down
11 changes: 7 additions & 4 deletions packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -829,6 +829,11 @@ export const draw = function (_text: string, id: string, _version: string, diagO
bounds.insert(activationData.startx, verticalPos - 10, activationData.stopx, verticalPos);
}

log.debug('createdActors', createdActors);
log.debug('destroyedActors', destroyedActors);

drawActors(diagram, actors, actorKeys, false);

// Draw the messages/signals
let sequenceIndex = 1;
let sequenceIndexStep = 1;
Expand Down Expand Up @@ -1028,14 +1033,12 @@ export const draw = function (_text: string, id: string, _version: string, diagO
}
});

log.debug('createdActors', createdActors);
log.debug('destroyedActors', destroyedActors);

drawActors(diagram, actors, actorKeys, false);
messagesToDraw.forEach((e) => drawMessage(diagram, e.messageModel, e.lineStartY, diagObj));

if (conf.mirrorActors) {
drawActors(diagram, actors, actorKeys, true);
}

backgrounds.forEach((e) => svgDraw.drawBackgroundRect(diagram, e));
fixLifeLineHeights(diagram, actors, actorKeys, conf);

Expand Down
2 changes: 1 addition & 1 deletion packages/mermaid/src/diagrams/sequence/svgDraw.js
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ const drawActorTypeParticipant = function (elem, actor, conf, isFooter) {
const center = actor.x + actor.width / 2;
const centerY = actorY + 5;

const boxpluslineGroup = elem.append('g').lower();
const boxpluslineGroup = elem.append('g');
var g = boxpluslineGroup;

if (!isFooter) {
Expand Down

0 comments on commit 5fdbf5d

Please sign in to comment.