Skip to content

Commit

Permalink
fix: remove right padding when a label contains HTML entities
Browse files Browse the repository at this point in the history
Decode the HTML entities from the label text before adding them to the
HTML this prevents a miss-calculation of the label text length
  • Loading branch information
Lorens León authored and Lorens León committed Jul 26, 2022
1 parent 1ed926b commit c40368b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
12 changes: 12 additions & 0 deletions cypress/integration/rendering/stateDiagram-v2.spec.js
Expand Up @@ -509,4 +509,16 @@ stateDiagram-v2
expect(svg).to.not.have.attr('style');
});
});

it('v2 should render a state diagram and set the correct length of the labels', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> 1
1 --> 2: test({ foo#colon; 'far' })
2 --> [*]
`,
{ logLevel: 0, fontFamily: 'courier' }
);
});
});
3 changes: 2 additions & 1 deletion src/dagre-wrapper/createLabel.js
Expand Up @@ -2,6 +2,7 @@ import { select } from 'd3';
import { log } from '../logger'; // eslint-disable-line
import { getConfig } from '../config';
import { sanitizeText, evaluate } from '../diagrams/common/common';
import { decodeEntities } from '../mermaidAPI';

const sanitizeTxt = (txt) => sanitizeText(txt, getConfig());

Expand Down Expand Up @@ -52,7 +53,7 @@ const createLabel = (_vertexText, style, isTitle, isNode) => {
log.info('vertexText' + vertexText);
const node = {
isNode,
label: vertexText.replace(
label: decodeEntities(vertexText).replace(
/fa[lrsb]?:fa-[\w-]+/g,
(s) => `<i class='${s.replace(':', ' ')}'></i>`
),
Expand Down

0 comments on commit c40368b

Please sign in to comment.