fix(mindmap): switching between read-only and editable mode

This commit is contained in:
Elian Doran 2025-11-10 19:59:01 +02:00
parent 76bd6a5ab9
commit a6fc54cb81
No known key found for this signature in database

View File

@ -111,7 +111,7 @@ function MindElixir({ containerRef: externalContainerRef, containerProps, apiRef
const containerRef = useSyncedRef<HTMLDivElement>(externalContainerRef, null);
const apiRef = useRef<MindElixirInstance>(null);
useEffect(() => {
function reinitialize() {
if (!containerRef.current) return;
const mind = new VanillaMindElixir({
@ -127,8 +127,22 @@ function MindElixir({ containerRef: externalContainerRef, containerProps, apiRef
if (externalApiRef) {
externalApiRef.current = mind;
}
}
return () => mind.destroy();
useEffect(() => {
reinitialize();
return () => {
apiRef.current?.destroy();
apiRef.current = null;
};
}, []);
useEffect(() => {
const data = apiRef.current?.getData();
reinitialize();
if (data) {
apiRef.current?.init(data);
}
}, [ editable ]);
// On change listener.