SmartPagination<T> class
Constructors
-
SmartPagination.columnWithCubit({Key? key, required SmartPaginationCubit<
T> cubit, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), bool allowImplicitScrolling = false, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, ScrollController? scrollController, double? cacheExtent, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3})T> > - Creates a pagination widget as a Column layout (non-scrollable) with an external Cubit
-
SmartPagination.columnWithProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), bool allowImplicitScrolling = false, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, OnInsertionCallback<T> >T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig, ScrollController? scrollController, double? cacheExtent, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3}) - Creates a pagination widget as a Column layout (non-scrollable) Similar to PaginatorColumn
-
SmartPagination.gridViewWithCubit({Key? key, required SmartPaginationCubit<
T> cubit, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, SliverGridDelegate gridDelegate = const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3})T> > - Creates a pagination widget as a GridView layout with an external Cubit
-
SmartPagination.gridViewWithProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, SliverGridDelegate gridDelegate = const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, OnInsertionCallback<T> >T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3}) - Creates a pagination widget as a GridView layout Similar to PaginatorGridView
-
SmartPagination.listViewWithCubit({Key? key, required SmartPaginationCubit<
T> cubit, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners})T> > - Creates a pagination widget as a ListView layout with an external Cubit
-
SmartPagination.listViewWithProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, OnInsertionCallback<T> >T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig}) - Creates a pagination widget as a ListView layout Similar to PaginatorListView
-
SmartPagination.pageViewWithCubit({Key? key, required SmartPaginationCubit<
T> cubit, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, PageController? pageController, void onPageChanged(int)?, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, double? cacheExtent, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3})T> > - Creates a pagination widget as a PageView layout with an external Cubit
-
SmartPagination.pageViewWithProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, PageController? pageController, void onPageChanged(int)?, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, OnInsertionCallback<T> >T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig, double? cacheExtent, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3}) - Creates a pagination widget as a PageView layout Similar to PaginatorPageView
-
SmartPagination.reorderableListViewWithCubit({Key? key, required SmartPaginationCubit<
T> cubit, required Widget itemBuilder(BuildContext context, List<T> documents, int index), required void onReorder(int oldIndex, int newIndex)?, double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners})T> > - Creates a pagination widget as a ReorderableListView layout with an external Cubit
-
SmartPagination.reorderableListViewWithProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required Widget itemBuilder(BuildContext context, List<T> documents, int index), required void onReorder(int oldIndex, int newIndex)?, double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, OnInsertionCallback<T> >T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig}) - Creates a pagination widget as a ReorderableListView layout
-
SmartPagination.rowWithCubit({Key? key, required SmartPaginationCubit<
T> cubit, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool reverse = false, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, ScrollController? scrollController, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3})T> > - Creates a pagination widget as a Row layout (horizontal non-scrollable) with an external Cubit
-
SmartPagination.rowWithProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required Widget itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool reverse = false, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, OnInsertionCallback<T> >T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig, ScrollController? scrollController, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3}) - Creates a pagination widget as a Row layout (horizontal non-scrollable) Similar to PaginatorRow
-
SmartPagination.staggeredGridViewWithCubit({Key? key, required SmartPaginationCubit<
T> cubit, required StaggeredGridTile itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, AxisDirection? staggeredAxisDirection, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, required int crossAxisCount, double mainAxisSpacing = 4.0, double crossAxisSpacing = 4.0, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, ScrollController? scrollController, double? cacheExtent, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3})T> > - Creates a pagination widget as a StaggeredGridView layout with an external Cubit
-
SmartPagination.staggeredGridViewWithProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required StaggeredGridTile itemBuilder(BuildContext context, List<T> documents, int index), double? heightOfInitialLoadingAndEmptyWidget, Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, AxisDirection? staggeredAxisDirection, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, required int crossAxisCount, double mainAxisSpacing = 4.0, double crossAxisSpacing = 4.0, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners, OnInsertionCallback<T> >T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig, ScrollController? scrollController, double? cacheExtent, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3}) - Creates a pagination widget as a StaggeredGridView layout Similar to PaginatorFirestoreStaggeredGridView
-
SmartPagination.withCubit({Key? key, required SmartPaginationCubit<
T> cubit, required Widget itemBuilder(BuildContext context, List<T> documents, int index), required PaginateBuilderType itemBuilderType, double? heightOfInitialLoadingAndEmptyWidget, SliverGridDelegate gridDelegate = const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget separator = const EmptySeparator(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, AxisDirection? staggeredAxisDirection, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, PageController? pageController, void onPageChanged(int)?, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget customViewBuilder(BuildContext context, List<T> items, bool hasReachedEnd, VoidCallback? fetchMore)?, void onReorder(int oldIndex, int newIndex)?, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners})T> > -
SmartPagination.withProvider({Key? key, required PaginationRequest request, required PaginationProvider<
T> provider, required Widget itemBuilder(BuildContext context, List<T> documents, int index), PaginateBuilderType itemBuilderType = PaginateBuilderType.listView, double? heightOfInitialLoadingAndEmptyWidget, SliverGridDelegate gridDelegate = const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), Widget onError(Exception exception)?, void onReachedEnd(SmartPaginationLoaded<T> loader)?, void onLoaded(SmartPaginationLoaded<T> loader)?, Widget emptyWidget = const EmptyDisplay(), Widget separator = const EmptySeparator(), Widget loadingWidget = const InitialLoader(), Widget bottomLoader = const BottomLoader(), bool shrinkWrap = false, bool reverse = false, Axis scrollDirection = Axis.vertical, AxisDirection? staggeredAxisDirection, EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0), ScrollPhysics? physics, ScrollController? scrollController, bool allowImplicitScrolling = false, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, PageController? pageController, void onPageChanged(int)?, Widget? header, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T> ? listBuilder, double? cacheExtent, Widget customViewBuilder(BuildContext context, List<T> items, bool hasReachedEnd, VoidCallback? fetchMore)?, void onReorder(int oldIndex, int newIndex)?, Widget firstPageLoadingBuilder(BuildContext context)?, Widget firstPageErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget firstPageEmptyBuilder(BuildContext context)?, Widget loadMoreLoadingBuilder(BuildContext context)?, Widget loadMoreErrorBuilder(BuildContext context, Exception error, VoidCallback retry)?, Widget loadMoreNoMoreItemsBuilder(BuildContext context)?, int invisibleItemsThreshold = 3, OnInsertionCallback<T> ? onInsertionCallback, VoidCallback? onClear, Logger? logger, int maxPagesInMemory = 5, RetryConfig? retryConfig, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener< ? filterListeners})T> >
Properties
- allowImplicitScrolling → bool
-
final
-
beforeBuild
→ SmartPaginationLoaded<
T> Function(SmartPaginationLoaded<T> state)? -
final
- bottomLoader → Widget
-
final
- cacheExtent → double?
-
final
-
cubit
→ SmartPaginationCubit<
T> -
final
-
customViewBuilder
→ Widget Function(BuildContext context, List<
T> items, bool hasReachedEnd, VoidCallback? fetchMore)? -
Custom view builder for complete control over the view
Only used when itemBuilderType is PaginateBuilderType.custom
final
- emptyWidget → Widget
-
final
- firstPageEmptyBuilder → Widget Function(BuildContext context)?
-
Builder for first page empty state (no items found)
If not provided, falls back to emptyWidget
final
- firstPageErrorBuilder → Widget Function(BuildContext context, Exception error, VoidCallback retry)?
-
Builder for first page error state with retry capability
If not provided, falls back to onError
final
- firstPageLoadingBuilder → Widget Function(BuildContext context)?
-
Builder for first page loading state
If not provided, falls back to loadingWidget
final
-
final
- gridDelegate → SliverGridDelegate
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- header → Widget?
-
final
- heightOfInitialLoadingAndEmptyWidget → double?
-
final
- internalCubit → bool
-
final
- invisibleItemsThreshold → int
-
Number of items before the end that triggers loading more items
Default is 3 - starts loading when user is 3 items away from the end
final
-
itemBuilder
→ Widget Function(BuildContext context, List<
T> documents, int index) -
final
- itemBuilderType → PaginateBuilderType
-
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- keyboardDismissBehavior → ScrollViewKeyboardDismissBehavior
-
final
-
listBuilder
→ ListBuilder<
T> ? -
final
-
listeners
→ List<
SmartPaginationChangeListener> ? -
final
- loadingWidget → Widget
-
final
- loadMoreErrorBuilder → Widget Function(BuildContext context, Exception error, VoidCallback retry)?
-
Builder for load more error state with retry capability
final
- loadMoreLoadingBuilder → Widget Function(BuildContext context)?
-
Builder for load more loading indicator
If not provided, falls back to bottomLoader
final
- loadMoreNoMoreItemsBuilder → Widget Function(BuildContext context)?
-
Builder for end of list indicator (no more items to load)
final
- onError → Widget Function(Exception exception)?
-
final
-
onLoaded
→ void Function(SmartPaginationLoaded<
T> loader)? -
final
- onPageChanged → void Function(int)?
-
final
-
onReachedEnd
→ void Function(SmartPaginationLoaded<
T> loader)? -
final
- onReorder → void Function(int oldIndex, int newIndex)?
-
Callback for reordering items in ReorderableListView
Only used when itemBuilderType is PaginateBuilderType.reorderableListView
final
- padding → EdgeInsetsGeometry
-
final
- pageController → PageController?
-
final
- physics → ScrollPhysics?
-
final
- reverse → bool
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrollController → ScrollController?
-
final
- scrollDirection → Axis
-
final
- separator → Widget
-
final
- shrinkWrap → bool
-
final
- staggeredAxisDirection → AxisDirection?
-
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< SmartPagination< T> > -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited