I didn’t quite understand your question.
Each node has only ports on one side.
I didn’t get about order of ports. If you’re asking about left-to-right or right-to-left order (of horizontal nodes), then it doesn’t matter.
model data:
{
nodeDataArray: [
{
key: 0,
text: "Alpha",
color: "lightblue",
sideIndex: 0,
loc: "10 10",
bottomArray: [
{ portId: "0" },
{ portId: "1" },
{ portId: "2" },
{ portId: "3" },
{ portId: "4" },
{ portId: "5" },
{ portId: "6" }
]
},
{
key: 1,
text: "Beta",
color: "orange",
sideIndex: 0,
loc: "100 10",
bottomArray: [
{ portId: "0" },
{ portId: "1" },
{ portId: "2" },
{ portId: "3" },
{ portId: "4" }
]
},
{
key: 2,
text: "Gamma",
color: "lightgreen",
sideIndex: 1,
loc: "-100 10",
rightArray: [{ portId: "0" }, { portId: "1" }, { portId: "2" }]
},
{
key: 3,
text: "Delta",
color: "pink",
sideIndex: 1,
loc: "-100 100",
rightArray: [{ portId: "0" }, { portId: "1" }]
},
{
key: 4,
text: "Delta",
color: "pink",
sideIndex: 2,
loc: "-10 240",
topArray: [{ portId: "0" }, { portId: "1" }]
},
{
key: 5,
text: "Delta",
color: "pink",
sideIndex: 2,
loc: "80 240",
topArray: [
{ portId: "0" },
{ portId: "1" },
{ portId: "2" },
{ portId: "3" },
{ portId: "4" },
{ portId: "5" },
{ portId: "6" }
]
},
{
key: 6,
text: "Delta",
color: "pink",
sideIndex: 3,
loc: "260 80",
leftArray: [
{ portId: "0" },
{ portId: "1" },
{ portId: "2" },
{ portId: "3" },
{ portId: "4" },
{ portId: "5" },
{ portId: "6" }
]
}
],
linkDataArray: [
{ key: -1, from: 0, to: 1, fromPort: "2", toPort: "1" },
{ key: -2, from: 0, to: 2, fromPort: "6", toPort: "1" },
{ key: -3, from: 1, to: 4, fromPort: "2", toPort: "1" },
{ key: -4, from: 2, to: 3, fromPort: "2", toPort: "1" },
{ key: -5, from: 3, to: 0, fromPort: "1", toPort: "1" },
{ key: -6, from: 6, to: 2, fromPort: "1", toPort: "1" },
{ key: -7, from: 3, to: 4, fromPort: "2", toPort: "0" },
{ key: -8, from: 5, to: 3, fromPort: "2", toPort: "0" },
{ key: -9, from: 5, to: 4, fromPort: "2", toPort: "0" },
{ key: -10, from: 2, to: 3, fromPort: "2", toPort: "0" },
{ key: -11, from: 1, to: 3, fromPort: "2", toPort: "1" }
],
modelData: {
canRelink: true
},
selectedData: null,
skipsDiagramUpdate: false
}