Can't stringify diagram event

I am trying to print out the event from 'click' on the diagram, and getting exception.

I simply have an empty diagram with nothing on it..

<DiagramComponent id="diagram"
ref={diagram => (diagramInstance = diagram)}
width={"100%"} height={"1000px"}
layout={{
type: "ComplexHierarchicalTree",
verticalSpacing: 30,
horizontalSpacing: 40,
enableAnimation: true
}}
click={(e) => { self.diagramSelected(e) }}
>
<Inject services={[ComplexHierarchicalTree, LayoutAnimation]} />
</DiagramComponent>



I get this error:
TypeError: JSON.stringify cannot serialize cyclic structures


simply trying to do this:
click={(e) => { self.diagramSelected(e) }}
...

diagramSelected(e) {
console.log(`selection changed `, JSON.stringify(e));
}

3 Replies

SG Shyam G Syncfusion Team November 14, 2019 10:53 AM UTC

Hi Raphael, 
 
The cyclic error forms when an object holds a reference to another object. So we have a cyclic structure formed in our nodes. Please refer to the below node to know more about cyclic structure. If you need to serialize a diagram object, please use a saveDiagram method which will return the serialized json model object. Please refer to a help documentation below. 
 


 
Regards, 
Shyam G 



RC raphael chancey November 14, 2019 02:47 PM UTC

ok.. makes sense.. thank you


SG Shyam G Syncfusion Team November 15, 2019 12:37 AM UTC

Hi Raphael, 
Thanks for your update. 
Regards, 
Shyam G 


Loader.
Up arrow icon