diff --git a/apps/client/src/widgets/type_widgets/canvas.ts b/apps/client/src/widgets/type_widgets/canvas.ts index 32bb1e325..3f3eabe50 100644 --- a/apps/client/src/widgets/type_widgets/canvas.ts +++ b/apps/client/src/widgets/type_widgets/canvas.ts @@ -3,6 +3,7 @@ import utils from "../../services/utils.js"; import server from "../../services/server.js"; import type FNote from "../../entities/fnote.js"; import options from "../../services/options.js"; +import { ExcalidrawImperativeAPI } from "@excalidraw/excalidraw/types"; const TPL = /*html*/`
@@ -184,7 +185,11 @@ export default class ExcalidrawTypeWidget extends TypeWidget { (window.process.env as any).PREACT = false; const renderCanvas = (await import("./canvas_el.js")).default; - renderCanvas(renderElement); + renderCanvas(renderElement, { + excalidrawAPI: (api: ExcalidrawImperativeAPI) => { + this.excalidrawApi = api; + }, + }); } /** diff --git a/apps/client/src/widgets/type_widgets/canvas_el.ts b/apps/client/src/widgets/type_widgets/canvas_el.ts index 8c7f5b752..9ab0269e0 100644 --- a/apps/client/src/widgets/type_widgets/canvas_el.ts +++ b/apps/client/src/widgets/type_widgets/canvas_el.ts @@ -1,12 +1,13 @@ import "@excalidraw/excalidraw/index.css"; import { Excalidraw } from "@excalidraw/excalidraw"; import { createElement, createRef, Fragment, render } from "preact/compat"; +import { ExcalidrawProps } from "@excalidraw/excalidraw/types"; -export default function renderCanvas(targetEl: HTMLElement) { - render(createCanvasElement(), targetEl); +export default function renderCanvas(targetEl: HTMLElement, opts: ExcalidrawProps) { + render(createCanvasElement(opts), targetEl); } -function createCanvasElement() { +function createCanvasElement(opts: ExcalidrawProps) { const excalidrawWrapperRef = createRef(); return createElement(Fragment, null, @@ -16,8 +17,6 @@ function createCanvasElement() { className: "excalidraw-wrapper", ref: excalidrawWrapperRef }, - createElement(Excalidraw, { - - }) + createElement(Excalidraw, opts) )); }