removeItemByKey method

void removeItemByKey(
  1. K key
)

Implementation

void removeItemByKey(K key) {
  if (!_itemsMap.containsKey(key)) {
    throw ArgumentError.value(key, 'key', 'Item not found');
  }

  _itemsMap.remove(key);

  if (!isServerSide) {
    _localPaginationItems.removeWhere((x) => itemKey(x) == key);
  }

  final displayItems = value.displayItems;
  final index = displayItems.indexWhere((x) => x.key == key);
  if (index > -1) {
    updateState(
      who: 'removeItem',
      displayItems: displayItems.copyWithRemovedAt(index),
      totalItems: value.totalItems - 1,
      selectedKeys: LinkedHashSet<K>.from(value.selectedKeys)..remove(key),
      expandedKeys: LinkedHashSet<K>.from(value.expandedKeys)..remove(key),
    );
  }
}