@@ -113,7 +113,7 @@ const padding = 100
113113
114114const head = `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">`
115115
116- const generateSvg = ( mei : MindElixirInstance ) => {
116+ const generateSvg = ( mei : MindElixirInstance , noForiegnObject = false ) => {
117117 const mapDiv = mei . nodes
118118 const height = mapDiv . offsetHeight + padding * 2
119119 const width = mapDiv . offsetWidth + padding * 2
@@ -144,7 +144,7 @@ const generateSvg = (mei: MindElixirInstance) => {
144144 summaries && g . appendChild ( summaries )
145145
146146 mapDiv . querySelectorAll ( 'me-tpc' ) . forEach ( tpc => {
147- g . appendChild ( convertDivToSvg ( mei , tpc as Topic , true ) )
147+ g . appendChild ( convertDivToSvg ( mei , tpc as Topic , noForiegnObject ? false : true ) )
148148 } )
149149 mapDiv . querySelectorAll ( '.tags > span' ) . forEach ( tag => {
150150 g . appendChild ( convertDivToSvg ( mei , tag as HTMLElement ) )
@@ -177,14 +177,14 @@ function blobToUrl(blob: Blob): Promise<string> {
177177 } )
178178}
179179
180- export const exportSvg = function ( this : MindElixirInstance ) {
181- const svgString = generateSvg ( this )
180+ export const exportSvg = function ( this : MindElixirInstance , noForiegnObject = false ) {
181+ const svgString = generateSvg ( this , noForiegnObject )
182182 const blob = new Blob ( [ svgString ] , { type : 'image/svg+xml' } )
183183 return blob
184184}
185185
186- export const exportPng = async function ( this : MindElixirInstance ) : Promise < Blob | null > {
187- const svgString = generateSvg ( this )
186+ export const exportPng = async function ( this : MindElixirInstance , noForiegnObject = false ) : Promise < Blob | null > {
187+ const svgString = generateSvg ( this , noForiegnObject )
188188 const blob = new Blob ( [ svgString ] , { type : 'image/svg+xml' } )
189189 // use base64 to bypass canvas taint
190190 const url = await blobToUrl ( blob )
0 commit comments