selectLinkById method

void selectLinkById(
  1. String id, {
  2. bool holdSelection = false,
  3. bool isHandled = false,
})

This method is used to select a link by its ID.

Emits a NodeSelectionEvent event.

Implementation

void selectLinkById(
  String id, {
  bool holdSelection = false,
  bool isHandled = false,
}) async {
  if (id.isEmpty) {
    return clearSelection();
  } else if (!holdSelection) {
    clearSelection();
  }

  selectedLinkIds.add(id);

  for (final id in selectedLinkIds) {
    final link = linksById[id];
    link?.state.isSelected = true;
  }

  linksDataDirty = true;

  eventBus.emit(
    LinkSelectionEvent(id: const Uuid().v4(), selectedLinkIds.toSet()),
  );
}