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
errorwhich triggersonErrorwith an optional StackTrace.inherited -
close(
) → Future< void> -
Closes the instance.
This method should be called when the instance is no longer needed.
Once
closeis called, the instance can no longer be used.inherited -
emit(
S state) → void -
Updates the
stateto the providedstate.emitdoes nothing if thestatebeing emitted is equal to the currentstate.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
changeoccurs with the givenchange. Achangeoccurs when a newstateis emitted.onChangeis called before thestateof thecubitis updated.onChangeis a great spot to add logging/analytics for a specificcubit.inherited -
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
erroroccurs and notifiesBlocObserver.onError.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited