canConnectThesePorts method
Implementation
bool canConnectThesePorts(String? portId1, String? portId2) {
if (portId1 == null || portId2 == null) {
return false;
}
if (portId1 == portId2) {
return false;
}
var port1 = canvasReader.model.getComponent(portId1);
var port2 = canvasReader.model.getComponent(portId2);
if (port1.type != 'port' || port2.type != 'port') {
return false;
}
if (port1.data.type != port2.data.type) {
return false;
}
if (port1.data.isInput && port2.data.isInput) {
return false;
}
if (!port1.data.isInput && !port2.data.isInput) {
return false;
}
if (port1.connections.isNotEmpty || port2.connections.isNotEmpty) {
return false;
}
if (port1.parentId == port2.parentId) {
return false;
}
return true;
}