diff --git a/package.json b/package.json index 10a561da5..d9f022761 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@braintree/sanitize-url": "6.0.2", - "@excalidraw/mermaid-to-excalidraw": "0.1.0-test", + "@excalidraw/mermaid-to-excalidraw": "0.1.0-test-named-export", "@excalidraw/random-username": "1.0.0", "@radix-ui/react-popover": "1.0.3", "@radix-ui/react-tabs": "1.0.2", diff --git a/src/components/MermaidToExcalidraw.tsx b/src/components/MermaidToExcalidraw.tsx index 03f5c0fd6..a15fd6852 100644 --- a/src/components/MermaidToExcalidraw.tsx +++ b/src/components/MermaidToExcalidraw.tsx @@ -62,29 +62,34 @@ const MermaidToExcalidraw = ({ }); }, [canvasData, canvasRef]); + useEffect(() => { + const convertMermaidToExcal = async () => { + let mermaidGraphData; + try { + mermaidGraphData = await parseMermaid(text, { + fontSize: DEFAULT_FONT_SIZE, + }); + } catch (e) { + // Parse error, displaying error message to users + } + + if (mermaidGraphData) { + const { elements, files } = graphToExcalidraw(mermaidGraphData); + + setCanvasData({ + elements: convertToExcalidrawElements(elements), + files, + }); + } + }; + convertMermaidToExcal(); + }, [text]); + const setAppState = useExcalidrawSetAppState(); if (appState?.activeTool?.type !== "mermaid") { return null; } - const onChange = async (event: any) => { - setText(event.target.value); - let mermaidGraphData; - try { - mermaidGraphData = await parseMermaid(event.target.value, { - fontSize: DEFAULT_FONT_SIZE, - }); - } catch (e) { - // Parse error, displaying error message to users - } - - if (mermaidGraphData) { - const { elements, files } = graphToExcalidraw(mermaidGraphData); - - setCanvasData({ elements: convertToExcalidrawElements(elements), files }); - } - }; - const onClose = () => { const activeTool = updateActiveTool(appState, { type: "selection" }); setAppState({ activeTool }); @@ -102,7 +107,10 @@ const MermaidToExcalidraw = ({
-