mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-19 15:30:03 +02:00
fix: Sanitize iconText
This commit is contained in:
@@ -3,6 +3,7 @@ import { getConfig } from '../../diagram-api/diagramAPI.js';
|
|||||||
import { createText } from '../../rendering-util/createText.js';
|
import { createText } from '../../rendering-util/createText.js';
|
||||||
import { getIconSVG } from '../../rendering-util/icons.js';
|
import { getIconSVG } from '../../rendering-util/icons.js';
|
||||||
import type { D3Element } from '../../types.js';
|
import type { D3Element } from '../../types.js';
|
||||||
|
import { sanitizeText } from '../common/common.js';
|
||||||
import type { ArchitectureDB } from './architectureDb.js';
|
import type { ArchitectureDB } from './architectureDb.js';
|
||||||
import { architectureIcons } from './architectureIcons.js';
|
import { architectureIcons } from './architectureIcons.js';
|
||||||
import {
|
import {
|
||||||
@@ -271,6 +272,7 @@ export const drawServices = async function (
|
|||||||
elem: D3Element,
|
elem: D3Element,
|
||||||
services: ArchitectureService[]
|
services: ArchitectureService[]
|
||||||
): Promise<number> {
|
): Promise<number> {
|
||||||
|
const config = getConfig();
|
||||||
for (const service of services) {
|
for (const service of services) {
|
||||||
const serviceElem = elem.append('g');
|
const serviceElem = elem.append('g');
|
||||||
const iconSize = db.getConfigField('iconSize');
|
const iconSize = db.getConfigField('iconSize');
|
||||||
@@ -285,7 +287,7 @@ export const drawServices = async function (
|
|||||||
width: iconSize * 1.5,
|
width: iconSize * 1.5,
|
||||||
classes: 'architecture-service-label',
|
classes: 'architecture-service-label',
|
||||||
},
|
},
|
||||||
getConfig()
|
config
|
||||||
);
|
);
|
||||||
|
|
||||||
textElem
|
textElem
|
||||||
@@ -320,7 +322,7 @@ export const drawServices = async function (
|
|||||||
.attr('class', 'node-icon-text')
|
.attr('class', 'node-icon-text')
|
||||||
.attr('style', `height: ${iconSize}px;`)
|
.attr('style', `height: ${iconSize}px;`)
|
||||||
.append('div')
|
.append('div')
|
||||||
.html(service.iconText);
|
.html(sanitizeText(service.iconText, config));
|
||||||
const fontSize =
|
const fontSize =
|
||||||
parseInt(
|
parseInt(
|
||||||
window
|
window
|
||||||
|
Reference in New Issue
Block a user