(function Sce
return
}
+ const clearCanvas = useCallback(() => {
+ setDoc((prev) => ({ ...prev, objects: [] }))
+ setSelectedIds([])
+ setTextEditingId(null)
+ }, [setDoc, setSelectedIds])
+
+ useImperativeHandle(
+ ref,
+ () => ({ exportImage, saveDocument, loadDocument, clearCanvas }),
+ [exportImage, saveDocument, loadDocument, clearCanvas],
+ )
const pageDoc = exportPages[0] ? pageExportDocument(doc, exportPages[0]) : doc
const url = await renderAvnacDocumentToDataUrl(pageDoc, vectorBoardDocs, {
format,
diff --git a/frontend/src/routes/create.tsx b/frontend/src/routes/create.tsx
index b39a5ba..3e0fce9 100644
--- a/frontend/src/routes/create.tsx
+++ b/frontend/src/routes/create.tsx
@@ -11,6 +11,8 @@ import {
idbGetEditorRecord,
idbMigrateLegacyDocument,
idbSetDocumentName,
+} from "../lib/avnac-editor-idb";
+import EditorClearCanvas from "#/components/editor-clear-canvas";
} from '../lib/avnac-editor-idb'
type CreateSearch = {
@@ -175,6 +177,7 @@ function CreatePage() {
/>
+ editorRef.current?.clearCanvas()} />
editorRef.current?.exportImage(opts)}