addPortOnComponent method
Implementation
addPortOnComponent(ComponentData data, BuildContext context, double offset) {
int inputPortLen = data.data.inputData?.length;
int outputPortLen = data.data.outputData?.length;
double height = max(180, max(inputPortLen, outputPortLen) * 2 * 20);
double width = (height * 5) / 3;
var portComponent = ComponentData(
size: Size(width, height),
position: data.position + Offset(offset, offset),
type: data.type,
data: BuilderComponentData.copy(data.data),
);
switch (portComponent.data.inputData?.length) {
case 0:
break;
case > 1:
addMultipleInputPort(portComponent, context);
case 1:
portComponent.data.inputData?.forEach((input) {
try {
portComponent.data.portData.add(
_getPortData(
Alignment.centerLeft, true, input, portComponent.id, context),
);
} catch (e) {}
});
}
switch (portComponent.data.outputData?.length) {
case 0:
break;
case > 1:
addMultipleOutputPort(portComponent, context);
case 1:
portComponent.data.outputData?.forEach((output) {
portComponent.data.portData.add(
_getPortData(Alignment.centerRight, false, output, portComponent.id,
context),
);
});
}
return portComponent;
}