breakPortLinks method

void breakPortLinks(
  1. String nodeId,
  2. String portId, {
  3. bool isHandled = false,
})

This method is used to break all links associated with a port.

Emits a RemoveLinkEvent event for each link that is removed.

Implementation

void breakPortLinks(String nodeId, String portId, {bool isHandled = false}) {
  if (!nodes.containsKey(nodeId)) return;
  if (!nodes[nodeId]!.ports.containsKey(portId)) return;

  final port = nodes[nodeId]!.ports[portId]!;
  final linksToRemove = port.links.map((link) => link.id).toList();

  for (final linkId in linksToRemove) {
    removeLinkById(linkId, isHandled: linkId != linksToRemove.last);
  }

  linksDataDirty = true;
}