nextjs-test/app/draw-io/page.tsx

37 lines
1021 B
TypeScript

"use client";
import { useRef, useState } from "react";
import { DrawIoEmbed, DrawIoEmbedRef } from "react-drawio";
export default function Home() {
const [imgData, setImgData] = useState("");
const drawioRef = useRef<DrawIoEmbedRef>(null);
return (
<div className="mb-10 w-full">
<div className={`w-5/6 m-auto mt-10 h-[700px]`}>
<DrawIoEmbed
ref={drawioRef}
onExport={(data) => {
console.log(`onExport executed:
${JSON.stringify(data, null, 2)}`);
setImgData(data.data);
}}
onClose={(data) => {
console.log(`onClose executed:
${JSON.stringify(data, null, 2)}`);
}}
/>
</div>
<div className="m-auto w-fit font-bold text-xl mt-10"></div>
{imgData ? (
<img
className="m-auto mt-5 pb-10 bg-white p-5 border-2 rounded-lg"
src={imgData}
alt=""
/>
) : (
<div className="h-20" />
)}
</div>
);
}