Merge branch 'bug/fix_note_overflow' into develop

This commit is contained in:
Johnny Walker 2020-12-11 21:28:41 -05:00
commit 2a5b029ecc
10 changed files with 28 additions and 39 deletions

7
dist/index.html vendored
View File

@ -449,8 +449,13 @@ Bob-->>John: How about you John?
end
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Note right of John: John thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Bob-->Alice: Checking with John...
Note over John:wrap: John looks like he's still thinking, so Bob prods him a bit.
Bob-x John: Hey John - we're still waiting to know<br/>how you're doing
Note over John:nowrap: John's trying hard not to break his train of thought.
Bob-x John:wrap: John! Are you still debating about how you're doing? How long does it take??
Note over John: After a few more moments, John<br/>finally snaps out of it.
end
alt either this
Alice->>John: Yes

17
dist/mermaid.core.js vendored
View File

@ -17166,9 +17166,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "apply", function() { return apply; });
/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js");
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js");
/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js");
/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js");
/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js");
@ -17316,9 +17314,9 @@ var parseMessage = function parseMessage(str) {
var message = {
text: _str.replace(/^[:]?(?:no)?wrap:/, '').trim(),
wrap: _str.match(/^[:]?(?:no)?wrap:/) === null ? _common_common__WEBPACK_IMPORTED_MODULE_2__["default"].hasBreaks(_str) || undefined : _str.match(/^[:]?wrap:/) !== null ? true : _str.match(/^[:]?nowrap:/) !== null ? false : undefined
wrap: _str.match(/^[:]?wrap:/) !== null ? true : _str.match(/^[:]?nowrap:/) !== null ? false : undefined
};
_logger__WEBPACK_IMPORTED_MODULE_3__["logger"].debug('parseMessage:', message);
_logger__WEBPACK_IMPORTED_MODULE_2__["logger"].debug('parseMessage:', message);
return message;
};
var LINETYPE = {
@ -17758,7 +17756,6 @@ var drawNote = function drawNote(elem, noteModel) {
textObj.anchor = conf.noteAlign;
textObj.textMargin = conf.noteMargin;
textObj.valign = conf.noteAlign;
textObj.wrap = true;
var textElem = Object(_svgDraw__WEBPACK_IMPORTED_MODULE_1__["drawText"])(g, textObj);
var textHeight = Math.round(textElem.map(function (te) {
return (te._groups || te)[0][0].getBBox().height;
@ -17811,8 +17808,7 @@ var drawMessage = function drawMessage(g, msgModel) {
starty = msgModel.starty,
message = msgModel.message,
type = msgModel.type,
sequenceIndex = msgModel.sequenceIndex,
wrap = msgModel.wrap;
sequenceIndex = msgModel.sequenceIndex;
var lines = _common_common__WEBPACK_IMPORTED_MODULE_4__["default"].splitBreaks(message).length;
var textDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(message, messageFont(conf));
var lineHeight = textDims.height / lines;
@ -17832,7 +17828,6 @@ var drawMessage = function drawMessage(g, msgModel) {
textObj.valign = conf.messageAlign;
textObj.textMargin = conf.wrapPadding;
textObj.tspan = false;
textObj.wrap = wrap;
Object(_svgDraw__WEBPACK_IMPORTED_MODULE_1__["drawText"])(g, textObj);
var totalOffset = textDims.height - 10;
var textWidth = textDims.width;
@ -18348,12 +18343,12 @@ var buildMessageModel = function buildMessageModel(msg, actors) {
var toIdx = fromBounds[0] < toBounds[0] ? 0 : 1;
var allBounds = fromBounds.concat(toBounds);
var boundedWidth = Math.abs(toBounds[toIdx] - fromBounds[fromIdx]);
var msgDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(msg.message, messageFont(conf));
if (msg.wrap && msg.message) {
msg.message = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(msg.message, Math.max(boundedWidth + 2 * conf.wrapPadding, conf.width), messageFont(conf));
}
var msgDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(msg.message, messageFont(conf));
return {
width: Math.max(msg.wrap ? 0 : msgDims.width + 2 * conf.wrapPadding, boundedWidth + 2 * conf.wrapPadding, conf.width),
height: 0,
@ -18545,7 +18540,7 @@ var drawRect = function drawRect(elem, rectData) {
var drawText = function drawText(elem, textData) {
var prevTextHeight = 0,
textHeight = 0;
var lines = textData.wrap ? textData.text.split(_common_common__WEBPACK_IMPORTED_MODULE_0__["default"].lineBreakRegex) : [textData.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_0__["default"].lineBreakRegex, ' ')];
var lines = textData.text.split(_common_common__WEBPACK_IMPORTED_MODULE_0__["default"].lineBreakRegex);
var textElems = [];
var dy = 0;

File diff suppressed because one or more lines are too long

19
dist/mermaid.js vendored
View File

@ -30304,7 +30304,7 @@ function addHtmlLabel(root, node) {
var client = div.node().getBoundingClientRect();
fo
.attr("width", client.width)
.attr("height", client.height);
.attr("height", client.height);
return fo;
}
@ -65528,9 +65528,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "apply", function() { return apply; });
/* harmony import */ var _mermaidAPI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mermaidAPI */ "./src/mermaidAPI.js");
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ "./src/config.js");
/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/common */ "./src/diagrams/common/common.js");
/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../logger */ "./src/logger.js");
/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../logger */ "./src/logger.js");
@ -65678,9 +65676,9 @@ var parseMessage = function parseMessage(str) {
var message = {
text: _str.replace(/^[:]?(?:no)?wrap:/, '').trim(),
wrap: _str.match(/^[:]?(?:no)?wrap:/) === null ? _common_common__WEBPACK_IMPORTED_MODULE_2__["default"].hasBreaks(_str) || undefined : _str.match(/^[:]?wrap:/) !== null ? true : _str.match(/^[:]?nowrap:/) !== null ? false : undefined
wrap: _str.match(/^[:]?wrap:/) !== null ? true : _str.match(/^[:]?nowrap:/) !== null ? false : undefined
};
_logger__WEBPACK_IMPORTED_MODULE_3__["logger"].debug('parseMessage:', message);
_logger__WEBPACK_IMPORTED_MODULE_2__["logger"].debug('parseMessage:', message);
return message;
};
var LINETYPE = {
@ -66119,7 +66117,6 @@ var drawNote = function drawNote(elem, noteModel) {
textObj.anchor = conf.noteAlign;
textObj.textMargin = conf.noteMargin;
textObj.valign = conf.noteAlign;
textObj.wrap = true;
var textElem = Object(_svgDraw__WEBPACK_IMPORTED_MODULE_1__["drawText"])(g, textObj);
var textHeight = Math.round(textElem.map(function (te) {
return (te._groups || te)[0][0].getBBox().height;
@ -66172,8 +66169,7 @@ var drawMessage = function drawMessage(g, msgModel) {
starty = msgModel.starty,
message = msgModel.message,
type = msgModel.type,
sequenceIndex = msgModel.sequenceIndex,
wrap = msgModel.wrap;
sequenceIndex = msgModel.sequenceIndex;
var lines = _common_common__WEBPACK_IMPORTED_MODULE_4__["default"].splitBreaks(message).length;
var textDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(message, messageFont(conf));
var lineHeight = textDims.height / lines;
@ -66193,7 +66189,6 @@ var drawMessage = function drawMessage(g, msgModel) {
textObj.valign = conf.messageAlign;
textObj.textMargin = conf.wrapPadding;
textObj.tspan = false;
textObj.wrap = wrap;
Object(_svgDraw__WEBPACK_IMPORTED_MODULE_1__["drawText"])(g, textObj);
var totalOffset = textDims.height - 10;
var textWidth = textDims.width;
@ -66709,12 +66704,12 @@ var buildMessageModel = function buildMessageModel(msg, actors) {
var toIdx = fromBounds[0] < toBounds[0] ? 0 : 1;
var allBounds = fromBounds.concat(toBounds);
var boundedWidth = Math.abs(toBounds[toIdx] - fromBounds[fromIdx]);
var msgDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(msg.message, messageFont(conf));
if (msg.wrap && msg.message) {
msg.message = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].wrapLabel(msg.message, Math.max(boundedWidth + 2 * conf.wrapPadding, conf.width), messageFont(conf));
}
var msgDims = _utils__WEBPACK_IMPORTED_MODULE_7__["default"].calculateTextDimensions(msg.message, messageFont(conf));
return {
width: Math.max(msg.wrap ? 0 : msgDims.width + 2 * conf.wrapPadding, boundedWidth + 2 * conf.wrapPadding, conf.width),
height: 0,
@ -66906,7 +66901,7 @@ var drawRect = function drawRect(elem, rectData) {
var drawText = function drawText(elem, textData) {
var prevTextHeight = 0,
textHeight = 0;
var lines = textData.wrap ? textData.text.split(_common_common__WEBPACK_IMPORTED_MODULE_0__["default"].lineBreakRegex) : [textData.text.replace(_common_common__WEBPACK_IMPORTED_MODULE_0__["default"].lineBreakRegex, ' ')];
var lines = textData.text.split(_common_common__WEBPACK_IMPORTED_MODULE_0__["default"].lineBreakRegex);
var textElems = [];
var dy = 0;

2
dist/mermaid.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/mermaid.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,5 @@
import mermaidAPI from '../../mermaidAPI';
import * as configApi from '../../config';
import common from '../common/common';
import { logger } from '../../logger';
let prevActor = undefined;
@ -138,9 +137,7 @@ export const parseMessage = function(str) {
const message = {
text: _str.replace(/^[:]?(?:no)?wrap:/, '').trim(),
wrap:
_str.match(/^[:]?(?:no)?wrap:/) === null
? common.hasBreaks(_str) || undefined
: _str.match(/^[:]?wrap:/) !== null
_str.match(/^[:]?wrap:/) !== null
? true
: _str.match(/^[:]?nowrap:/) !== null
? false

View File

@ -226,7 +226,6 @@ const drawNote = function(elem, noteModel) {
textObj.anchor = conf.noteAlign;
textObj.textMargin = conf.noteMargin;
textObj.valign = conf.noteAlign;
textObj.wrap = true;
let textElem = drawText(g, textObj);
@ -272,7 +271,7 @@ const actorFont = cnf => {
*/
const drawMessage = function(g, msgModel) {
bounds.bumpVerticalPos(10);
const { startx, stopx, starty, message, type, sequenceIndex, wrap } = msgModel;
const { startx, stopx, starty, message, type, sequenceIndex } = msgModel;
const lines = common.splitBreaks(message).length;
let textDims = utils.calculateTextDimensions(message, messageFont(conf));
const lineHeight = textDims.height / lines;
@ -293,7 +292,6 @@ const drawMessage = function(g, msgModel) {
textObj.valign = conf.messageAlign;
textObj.textMargin = conf.wrapPadding;
textObj.tspan = false;
textObj.wrap = wrap;
drawText(g, textObj);
@ -971,7 +969,6 @@ const buildMessageModel = function(msg, actors) {
const toIdx = fromBounds[0] < toBounds[0] ? 0 : 1;
const allBounds = fromBounds.concat(toBounds);
const boundedWidth = Math.abs(toBounds[toIdx] - fromBounds[fromIdx]);
const msgDims = utils.calculateTextDimensions(msg.message, messageFont(conf));
if (msg.wrap && msg.message) {
msg.message = utils.wrapLabel(
msg.message,
@ -979,6 +976,8 @@ const buildMessageModel = function(msg, actors) {
messageFont(conf)
);
}
const msgDims = utils.calculateTextDimensions(msg.message, messageFont(conf));
return {
width: Math.max(
msg.wrap ? 0 : msgDims.width + 2 * conf.wrapPadding,

View File

@ -21,9 +21,7 @@ export const drawRect = function(elem, rectData) {
export const drawText = function(elem, textData) {
let prevTextHeight = 0,
textHeight = 0;
const lines = textData.wrap
? textData.text.split(common.lineBreakRegex)
: [textData.text.replace(common.lineBreakRegex, ' ')];
const lines = textData.text.split(common.lineBreakRegex);
let textElems = [];
let dy = 0;