projectstorm / react-diagrams

a super simple, no-nonsense diagramming library written in react that just works
https://projectstorm.cloud/react-diagrams
MIT License
8.45k stars 1.16k forks source link

Deserialization not working #1005

Open hanajiffry99 opened 1 year ago

hanajiffry99 commented 1 year ago

I am following the documentation and trying to deserialize the diagram. I have serialized the diagram perfectly and stored it in a json file. During the deserialization process, I retrieve the saved serialized data, parse it and try to deserialize it. Althought I didnt receive any errors its not working. I am using custom nodes, links and ports to create the diagram. This si my code and Looking forward for your support to solve this issue.

const [model, setNewModel] = React.useState(new DiagramModel());

React.useEffect(() => {
    console.log("react initialized");
    window.addEventListener('message', (e) => {
        if (e.data.command === 'serialized') {

            console.log("deserialization code");
            console.log("serialized diagram 1: ", model)
            const parsed = JSON.parse(e.data.data);

            model.deserializeModel(parsed, engine)
            vscode.postMessage({ command: "success_alert", text: 'diagram updated successfully' });
            console.log("serialized diagram 2: ", model)
        }
    });
}, [])
Alletkla commented 11 months ago

What do you mean with "not working"?

Are Nodes/Ports/Links/... missing?

Did you try it with the default implementations?

kilotone commented 7 months ago

Are you receiving the event? Can you call json.stringify e.data.data, null, 4 I would suggest wrapping the listener callback in another function , and making sure you remove the event listener when navigating away.