diff --git a/src/embed/iframeSizer.js b/src/embed/iframeSizer.js index c92b43f24..cebf96ed4 100644 --- a/src/embed/iframeSizer.js +++ b/src/embed/iframeSizer.js @@ -32,7 +32,7 @@ export function informSize( update(); } -export function setupResizeEvent(iframe) { +export function setupResizeEvent(iframe, cb) { window.addEventListener("message", (event) => { if (event.source == iframe.contentWindow) { const { width, height, updateStyleProps } = event.data; @@ -67,6 +67,7 @@ export function setupResizeEvent(iframe) { iframe.style.minHeight = "" + height + "px"; } } + if (cb) cb({ el: iframe }); } } }); diff --git a/src/embed/noteLoader.js b/src/embed/noteLoader.js index 9a50732b6..22c86995d 100644 --- a/src/embed/noteLoader.js +++ b/src/embed/noteLoader.js @@ -3,7 +3,7 @@ import { APP_URL } from "../config/embed.js"; const enhanced = "DC-embed-enhanced"; -function loadNote(src) { +function loadNote(src, opts) { const parts = src.split("/").slice(-3); if (parts.length != 3) return; const slugId = parts[0]; @@ -23,7 +23,7 @@ function loadNote(src) { const iframe = document.createElement("iframe"); iframe.style = "border: none; width: 100%;"; iframe.src = new URL(`documents/${id}/annotations/${noteId}`, APP_URL).href; - setupResizeEvent(iframe); + setupResizeEvent(iframe, opts && opts.afterLoad ? opts.afterLoad : null); noteElem.appendChild(iframe); });