SmartPagination<T> class

Inheritance
Implementers

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, Widget? footer, 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<T>>? 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})
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, Widget? footer, 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<T>>? filterListeners, OnInsertionCallback<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, Widget? footer, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T>? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener<T>>? 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})
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, Widget? footer, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T>? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener<T>>? filterListeners, OnInsertionCallback<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, Widget? footer, 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<T>>? filterListeners})
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, Widget? footer, 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<T>>? filterListeners, OnInsertionCallback<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, Widget? footer, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T>? listBuilder, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener<T>>? 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})
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, Widget? footer, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T>? listBuilder, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener<T>>? filterListeners, OnInsertionCallback<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, Widget? footer, 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<T>>? filterListeners})
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, Widget? footer, 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<T>>? filterListeners, OnInsertionCallback<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, Widget? footer, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T>? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener<T>>? 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})
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, Widget? footer, SmartPaginationLoaded<T> beforeBuild(SmartPaginationLoaded<T> state)?, ListBuilder<T>? listBuilder, double? cacheExtent, Widget? separator, double spacing = 4, SmartPaginationRefreshedChangeListener? refreshListener, List<SmartPaginationFilterChangeListener<T>>? filterListeners, OnInsertionCallback<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, Widget? footer, 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<T>>? 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})
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, Widget? footer, 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<T>>? filterListeners, OnInsertionCallback<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, Widget? footer, 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<T>>? filterListeners})
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, Widget? footer, 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<T>>? filterListeners})

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
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