feat: draw.io (diagrams.net) integration (#215)

* draw.io init

* updates
This commit is contained in:
Philip Okugbe
2024-09-01 12:26:20 +01:00
committed by GitHub
parent 38e9eef2dc
commit 87b99f8646
14 changed files with 555 additions and 110 deletions

View File

@ -36,15 +36,16 @@ export default function ExcalidrawView(props: NodeViewProps) {
}
try {
let data = null;
if (src) {
const url = getFileUrl(src);
const request = await fetch(url, { credentials: 'include' });
const request = await fetch(url, {
credentials: 'include',
cache: 'no-store',
});
data = await loadFromBlob(await request.blob(), null, null);
const data = await loadFromBlob(await request.blob(), null, null);
setExcalidrawData(data);
}
setExcalidrawData(data);
} catch (err) {
console.error(err);
} finally {
@ -69,7 +70,10 @@ export default function ExcalidrawView(props: NodeViewProps) {
const serializer = new XMLSerializer();
let svgString = serializer.serializeToString(svg);
svgString = svgString.replace(/https:\/\/unpkg\.com\/@excalidraw\/excalidraw@undefined/g, 'https://unpkg.com/@excalidraw/excalidraw@latest');
svgString = svgString.replace(
/https:\/\/unpkg\.com\/@excalidraw\/excalidraw@undefined/g,
'https://unpkg.com/@excalidraw/excalidraw@latest'
);
const fileName = 'diagram.excalidraw.svg';
const excalidrawSvgFile = await svgStringToFile(svgString, fileName);