clearSelection method

void clearSelection({
  1. bool isHandled = false,
})

This method is used to deselect all selected nodes.

Implementation

void clearSelection({bool isHandled = false}) {
  for (final id in selectedNodeIds) {
    final node = nodes[id];
    node?.state.isSelected = false;
  }

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

  linksDataDirty = true;
  nodesDataDirty = true;

  eventBus.emit(
    NodeSelectionEvent(
      id: const Uuid().v4(),
      selectedNodeIds.toSet(),
      isHandled: isHandled,
    ),
  );

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

  selectedNodeIds.clear();
  selectedLinkIds.clear();
}