checkItems method

void checkItems(
  1. List<T> items, {
  2. bool checkAll = false,
})

Check or uncheck the specified items.

Items already checked will be unchecked, and viceversa.

If checkAll is true, if all items are checked every item will be unselected, otherwise all the items will result as selected independently of their checked status.

Implementation

void checkItems(
  List<T> items, {
  bool checkAll = false,
}) {
  if (checkedItems.length == dataItemsToShow.length && checkAll) {
    checkedItems.clear();
  } else {
    for (var element in items) {
      if (checkedItems.contains(element)) {
        if (!checkAll) {
          checkedItems.remove(element);
        }
      } else {
        checkedItems.add(element);
      }
    }
  }

  onCheckItems?.call(List.of(checkedItems));
  notifyListeners();
}