@sillyMredul wrote:
Hello,
I am trying to build a diagram having multiple inport, outport. The idea in abstract… after declaring gojs diagram, an empty model have been declared. Later I am adding node & link to the model from my local JS array. I think my makePort & makeTemplate function is working fine.var $$ = go.GraphObject.make; Diagram = $$(go.Diagram, "graph", { .... } ); self.nodeDataArray = []; self.linkDataArray = []; var graph_model_data = ({class: 'go.GraphLinksModel', nodeCategoryProperty: 'type', linkFromPortIdProperty: 'frompid', linkToPortIdProperty: 'topid', nodeDataArray: self.nodeDataArray, linkDataArray: self.linkDataArray}); Diagram.model = go.Model.fromJson(JSON.stringify(graph_model_data)); function makePort(name, leftside) { .... } function makeTemplate(typename, background, inports, outports) { .... } rels['nodeDataArray'].forEach(function(node) { type = node.type; name = node.name; switch(type) { case "Operator": color = 'CadetBlue'; break; case "Data": color = 'SteelBlue'; break; case "Service": color = 'Teal'; break; case "Operator": color = 'CadetBlue'; break; default: color = 'SteelBlue'; } var listOfInputPorts = []; var listOfOutputPorts = []; rels['linkDataArray'].forEach(function(link) { //input port definition if(node.key == link.to){ var aNewInputPort = makePort(link.topid, true); listOfInputPorts.push(aNewInputPort); } //output port definition if(node.key == link.from){ var aNewOutputPort = makePort(link.frompid, false); listOfOutputPorts.push(aNewOutputPort); } Diagram.startTransaction("add link"); Diagram.model.addLinkData(link); Diagram.commitTransaction("add link"); }); makeTemplate(type, color, listOfInputPorts, listOfOutputPorts); Diagram.startTransaction("add node"); Diagram.model.addNodeData(node); Diagram.commitTransaction("add node"); });While I debugged, It seems nodes & ports are creating using same data from JS array. But, there is only one port in each node having same port_id while drawing the graph, even if the node suppose to have multiple port.
Am i messing with the model data?
Thanks in advance.
Posts: 2
Participants: 2
