diff --git a/src/js/modules/editor.js b/src/js/modules/editor.js index 14c0b68..23612bd 100644 --- a/src/js/modules/editor.js +++ b/src/js/modules/editor.js @@ -414,8 +414,19 @@ async function compile() { diagramSVG = svg; if (ascii) { - renderEl.innerHTML = `
${svg}
`; + Zoom.detach(); + renderEl.style.userSelect = "text"; + renderEl.style.webkitUserSelect = "text"; + renderEl.style.mozUserSelect = "text"; + renderEl.style.msUserSelect = "text"; + renderEl.style.pointerEvents = "auto"; + renderEl.innerHTML = `
${svg}
`; } else { + renderEl.style.userSelect = ""; + renderEl.style.webkitUserSelect = ""; + renderEl.style.mozUserSelect = ""; + renderEl.style.msUserSelect = ""; + renderEl.style.pointerEvents = ""; renderEl.innerHTML = svg; // skip over the xml version tag diff --git a/src/js/modules/zoom.js b/src/js/modules/zoom.js index 2048248..0874024 100644 --- a/src/js/modules/zoom.js +++ b/src/js/modules/zoom.js @@ -103,9 +103,17 @@ function onZoomSlider(e) { ).style.background = `linear-gradient(to right, #6b8afb ${percentage}%, #d8dce9 ${percentage}%)`; } +function detach() { + if (panzoomInstance) { + panzoomInstance.dispose(); + panzoomInstance = null; + } +} + export default { init, attach, + detach, MIN_ZOOM, MAX_ZOOM, };