removeItemEmit method

  1. @override
bool removeItemEmit(
  1. T item
)
override

Removes an item from the list. Returns true if the item was found and removed.

Implementation

@override
bool removeItemEmit(T item) {
  final currentState = state;
  if (currentState is! SmartPaginationLoaded<T>) return false;

  final updated = List<T>.from(currentState.allItems);
  final removed = updated.remove(item);

  if (!removed) return false;

  _onInsertionCallback?.call(updated);

  _refreshDataAge();
  emit(
    currentState.copyWith(
      allItems: updated,
      items: updated,
      lastUpdate: DateTime.now(),
      fetchedAt: _lastFetchTime,
      dataExpiredAt: _getDataExpiredAt(),
    ),
  );
  return true;
}