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)
));
}