onComponentTap method

  1. @override
void onComponentTap(
  1. String componentId
)

Implementation

@override
onComponentTap(String componentId) {
  canvasWriter.model.hideAllLinkJoints();

  var component = canvasReader.model.getComponent(componentId);

  if (component.type == 'port') {

    bool connected =
        connectComponents(selectedPortId, componentId, component.data.color);
    deselectAllPorts();
    if (!connected) {
      selectPort(componentId);
    }
    if (component.parentId != null) {
      hideComponentHighlight(selectedComponentId);
      highlightComponent(component.parentId!);
    }
  } else {
    hideComponentHighlight(selectedComponentId);
    highlightComponent(componentId);
    var cpt = canvasReader.model.getComponent(componentId);
    cpt.childrenIds.forEach((element) {
      var prt = canvasReader.model.getComponent(element);
      var con = prt.connections;
      con.forEach(
        (element) {
          var name = element.otherComponentId;
          var oprt = canvasReader.model.getComponent(name);
          var par = canvasReader.model.getComponent(oprt.parentId!);
          var parname = canvasReader.model.getComponent(par.id);
        },
      );
    });
  }
}