toggleItemSelection method

void toggleItemSelection(
  1. int listIndex,
  2. int itemIndex,
  3. Widget item
)

Selects or deselects an item

Implementation

void toggleItemSelection(int listIndex, int itemIndex, Widget item) {
  if (_isDisposed || !_isSelecting) return;

  final selection = BoardItemSelection(
    listIndex: listIndex,
    itemIndex: itemIndex,
    item: item,
  );

  final existingIndex = _selectedItems.indexWhere((s) => s.listIndex == listIndex && s.itemIndex == itemIndex);

  if (existingIndex >= 0) {
    _selectedItems.removeAt(existingIndex);
  } else {
    _selectedItems.add(selection);
  }

  _callbacks?.onSelectionChanged?.call(selectedItems);
}