fix: Sanitize iconText

This commit is contained in:
Sidharth Vinod
2025-08-05 22:32:38 +05:30
parent 526b35c602
commit c61a431e2d

View File

@@ -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