addItem method

void addItem(
  1. T item, [
  2. bool prepend = true
])

Implementation

void addItem(T item, [bool prepend = true]) {
  final key = itemKey(item);
  if (_itemsMap.containsKey(key)) {
    throw ArgumentError.value(key, 'key', 'Item already exists');
  }

  _itemsMap[key] = item;

  if (_useLocalPaginationItems) {
    if (prepend) {
      _localPaginationItems.insert(0, item);
    } else {
      _localPaginationItems.add(item);
    }
  }

  updateState(
    who: 'addItem',
    displayItems: value.displayItems.copyWithItem(itemFactory(item), prepend),
    totalItems: value.totalItems + 1,
  );
}