From d409da2201318f347969420f85480fe896ba5d03 Mon Sep 17 00:00:00 2001 From: Raphael Medaer Date: Tue, 24 Mar 2020 18:24:43 +0100 Subject: [PATCH] Multiline sequence message This commit allow user to write multiline messages in sequence diagram. For instance: ``` sequenceDiagram Alice->>+John: Hello John
How are you?
I mean...
Are you OK today? Alice->>+John: John, can you hear me? John-->>-Alice: Hi Alice, I can hear you!
Keep calm!
I'm there. John-->>-Alice: And I feel great! ``` --- src/diagrams/sequence/sequenceRenderer.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/diagrams/sequence/sequenceRenderer.js b/src/diagrams/sequence/sequenceRenderer.js index 68482a63e..b46f6873e 100644 --- a/src/diagrams/sequence/sequenceRenderer.js +++ b/src/diagrams/sequence/sequenceRenderer.js @@ -247,6 +247,8 @@ const drawMessage = function(elem, startx, stopx, verticalPos, msg, sequenceInde const offsetLineCounter = counterBreaklines - 1; const totalOffset = offsetLineCounter * breaklineOffset; + bounds.bumpVerticalPos(totalOffset); + let textWidth = (textElem._groups || textElem)[0][0].getBBox().width; let line; @@ -295,9 +297,9 @@ const drawMessage = function(elem, startx, stopx, verticalPos, msg, sequenceInde } else { line = g.append('line'); line.attr('x1', startx); - line.attr('y1', verticalPos); + line.attr('y1', verticalPos + totalOffset); line.attr('x2', stopx); - line.attr('y2', verticalPos); + line.attr('y2', verticalPos + totalOffset); bounds.insert( startx, bounds.getVerticalPos() - 10 + totalOffset,