Moving nodes will automatically shift input ports to be on top or on left side; output ports will be either on bottom or on right side.
{ "class": "GraphLinksModel", "linkFromPortIdProperty": "fpid", "linkToPortIdProperty": "tpid", "nodeDataArray": [ {"key":1,"text":"Alpha","category":"Input","loc":"77 25"}, {"key":2,"text":"Beta","category":"Input","loc":"77 150"}, {"key":3,"text":"Gamma","loc":"262 90"}, {"key":4,"text":"Delta","category":"Output","loc":"467 200"} ], "linkDataArray": [ {"from":1,"fpid":"o","to":3,"tpid":"i1"}, {"from":2,"fpid":"o","to":3,"tpid":"i2"}, {"from":3,"fpid":"o","to":4,"tpid":"i"} ]}