This commit is contained in:
Ian Sanders
2024-05-14 14:34:10 -04:00
parent 6f56d94c64
commit df94d3994d
2 changed files with 11 additions and 5 deletions

View File

@@ -200,8 +200,12 @@ describe('mermaidAPI', () => {
}); });
it('sets src to base64 version of <body style="IFRAME_SVG_BODY_STYLE">svgCode<//body>', () => { it('sets src to base64 version of <body style="IFRAME_SVG_BODY_STYLE">svgCode<//body>', () => {
const base64encodedSrc = toBase64('<body style="' + 'margin:0' + '">' + inputSvgCode + '</body>'); const base64encodedSrc = toBase64(
const expectedRegExp = new RegExp('src="data:text/html;charset=UTF-8;base64,' + base64encodedSrc + '"'); '<body style="' + 'margin:0' + '">' + inputSvgCode + '</body>'
);
const expectedRegExp = new RegExp(
'src="data:text/html;charset=UTF-8;base64,' + base64encodedSrc + '"'
);
const result = putIntoIFrame(inputSvgCode); const result = putIntoIFrame(inputSvgCode);
expect(result).toMatch(expectedRegExp); expect(result).toMatch(expectedRegExp);

View File

@@ -255,7 +255,9 @@ export const putIntoIFrame = (svgCode = '', svgElement?: D3Element): string => {
const height = svgElement?.viewBox?.baseVal?.height const height = svgElement?.viewBox?.baseVal?.height
? svgElement.viewBox.baseVal.height + 'px' ? svgElement.viewBox.baseVal.height + 'px'
: IFRAME_HEIGHT; : IFRAME_HEIGHT;
const base64encodedSrc = toBase64('<body style="' + IFRAME_BODY_STYLE + '">' + svgCode + '</body>'); const base64encodedSrc = toBase64(
'<body style="' + IFRAME_BODY_STYLE + '">' + svgCode + '</body>'
);
return `<iframe style="width:${IFRAME_WIDTH};height:${height};${IFRAME_STYLES}" src="data:text/html;charset=UTF-8;base64,${base64encodedSrc}" sandbox="${IFRAME_SANDBOX_OPTS}"> return `<iframe style="width:${IFRAME_WIDTH};height:${height};${IFRAME_STYLES}" src="data:text/html;charset=UTF-8;base64,${base64encodedSrc}" sandbox="${IFRAME_SANDBOX_OPTS}">
${IFRAME_NOT_SUPPORTED_MSG} ${IFRAME_NOT_SUPPORTED_MSG}
</iframe>`; </iframe>`;