fix: breaking edge labels

on-behalf-of: @Mermaid-Chart <hello@mermaidchart.com>
This commit is contained in:
darshanr0107
2025-09-15 18:15:14 +05:30
parent ade130747e
commit 464ff95e5b
2 changed files with 14 additions and 13 deletions

View File

@@ -1,13 +1,12 @@
import { select } from 'd3'; import { select } from 'd3';
import { getConfig } from '../../diagram-api/diagramAPI.js'; import { getConfig } from '../../diagram-api/diagramAPI.js';
import common, { import common, {
evaluate,
hasKatex, hasKatex,
renderKatexSanitized, renderKatexSanitized,
sanitizeText, sanitizeText,
} from '../../diagrams/common/common.js'; } from '../../diagrams/common/common.js';
import { log } from '../../logger.js'; import { log } from '../../logger.js';
import { decodeEntities } from '../../utils.js'; import { decodeEntities, shouldUseHtmlLabels } from '../../utils.js';
/** /**
* @param dom * @param dom
@@ -63,8 +62,7 @@ const createLabel = async (_vertexText, style, isTitle, isNode) => {
if (typeof vertexText === 'object') { if (typeof vertexText === 'object') {
vertexText = vertexText[0]; vertexText = vertexText[0];
} }
if (shouldUseHtmlLabels()) {
if (evaluate(getConfig().flowchart.htmlLabels)) {
// TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that? // TODO: addHtmlLabel accepts a labelStyle. Do we possibly have that?
vertexText = vertexText.replace(/\\n|\n/g, '<br />'); vertexText = vertexText.replace(/\\n|\n/g, '<br />');
log.info('vertexText' + vertexText); log.info('vertexText' + vertexText);

View File

@@ -1,8 +1,7 @@
import { getConfig } from '../../diagram-api/diagramAPI.js'; import { getConfig } from '../../diagram-api/diagramAPI.js';
import { evaluate } from '../../diagrams/common/common.js';
import { log } from '../../logger.js'; import { log } from '../../logger.js';
import { createText } from '../createText.js'; import { createText } from '../createText.js';
import utils from '../../utils.js'; import utils, { shouldUseHtmlLabels } from '../../utils.js';
import { import {
getLineFunctionsWithOffset, getLineFunctionsWithOffset,
markerOffsets, markerOffsets,
@@ -45,16 +44,20 @@ export const getLabelStyles = (styleArray) => {
}; };
export const insertEdgeLabel = async (elem, edge) => { export const insertEdgeLabel = async (elem, edge) => {
let useHtmlLabels = evaluate(getConfig().flowchart.htmlLabels); const useHtmlLabels = shouldUseHtmlLabels();
const { labelStyles } = styles2String(edge); const { labelStyles } = styles2String(edge);
edge.labelStyle = labelStyles; edge.labelStyle = labelStyles;
const labelElement = await createText(elem, edge.label, { const labelElement =
edge.labelType === 'markdown' && useHtmlLabels
? await createText(elem, edge.label, {
style: edge.labelStyle, style: edge.labelStyle,
useHtmlLabels, useHtmlLabels,
addSvgBackground: true, addSvgBackground: true,
isNode: false, isNode: false,
}); })
: await createLabel(edge.label, getLabelStyles(edge.labelStyle), false, false);
log.info('abc82', edge, edge.labelType); log.info('abc82', edge, edge.labelType);
// Create outer g, edgeLabel, this will be positioned after graph layout // Create outer g, edgeLabel, this will be positioned after graph layout