PaginationMixin<T, S extends PaginationInterface<T>> mixin

Mixin for pagination.

This mixin is used to handle pagination in a bloc. It provides a method to fetch the items for a given page and a method to initialize the pagination state. It also provides a method to load the next page.

Example:

class MyBloc extends Bloc<MyEvent, MyState> with PaginationMixin<MyItem, MyState> {
  @override
  Future<List<MyItem>?> fetchPageItems(int page, String? searchQuery) async {
    // Fetch items logic
  }

  @override
  Future<void> initializeState({String? searchQuery}) async {
    // Initialize state logic
  }

  @override
  Future<void> loadNextPage(void Function(PaginationState<T>) emitState) async {
    // Load next page logic
  }
}

Properties

hashCode int
The hash code for this object.
no setterinherited
isClosed bool
Whether the bloc is closed.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state → S
The current state.
no setterinherited
stream Stream<S>
The current stream of states.
no setterinherited

Methods

addError(Object error, [StackTrace? stackTrace]) → void
Reports an error which triggers onError with an optional StackTrace.
inherited
close() Future<void>
Closes the instance. This method should be called when the instance is no longer needed. Once close is called, the instance can no longer be used.
inherited
emit(S state) → void
Updates the state to the provided state. emit does nothing if the state being emitted is equal to the current state.
inherited
fetchPageItems({required int page, String? searchQuery}) Future<List<T>?>
Fetches the items for the given page
initializeState({String? searchQuery}) Future<void>
Initializes the pagination state
loadNextPage(void emitState(PaginationState<T>)) Future<void>
Loads the next page
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onChange(Change<S> change) → void
Called whenever a change occurs with the given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
inherited
onError(Object error, StackTrace stackTrace) → void
Called whenever an error occurs and notifies BlocObserver.onError.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited