SmartPaginationColumn<T>.withProvider constructor

SmartPaginationColumn<T>.withProvider({
  1. Key? key,
  2. required PaginationRequest request,
  3. required PaginationProvider<T> provider,
  4. required Widget itemBuilder(
    1. BuildContext context,
    2. List<T> documents,
    3. int index
    ),
  5. double? heightOfInitialLoadingAndEmptyWidget,
  6. Widget onError(
    1. Exception exception
    )?,
  7. void onReachedEnd(
    1. SmartPaginationLoaded<T> loader
    )?,
  8. void onLoaded(
    1. SmartPaginationLoaded<T> loader
    )?,
  9. Widget emptyWidget = const EmptyDisplay(),
  10. Widget loadingWidget = const InitialLoader(),
  11. Widget bottomLoader = const BottomLoader(),
  12. Widget? header,
  13. Widget? footer,
  14. SmartPaginationLoaded<T> beforeBuild(
    1. SmartPaginationLoaded<T> state
    )?,
  15. ListBuilder<T>? listBuilder,
  16. EdgeInsetsGeometry padding = const EdgeInsetsGeometry.all(0),
  17. bool allowImplicitScrolling = false,
  18. ScrollController? scrollController,
  19. double? cacheExtent,
  20. Widget? separator,
  21. double spacing = 4,
  22. Widget firstPageLoadingBuilder(
    1. BuildContext context
    )?,
  23. Widget firstPageErrorBuilder(
    1. BuildContext context,
    2. Exception error,
    3. VoidCallback retry
    )?,
  24. Widget firstPageEmptyBuilder(
    1. BuildContext context
    )?,
  25. Widget loadMoreLoadingBuilder(
    1. BuildContext context
    )?,
  26. Widget loadMoreErrorBuilder(
    1. BuildContext context,
    2. Exception error,
    3. VoidCallback retry
    )?,
  27. Widget loadMoreNoMoreItemsBuilder(
    1. BuildContext context
    )?,
  28. int invisibleItemsThreshold = 3,
  29. SmartPaginationRefreshedChangeListener? refreshListener,
  30. List<SmartPaginationFilterChangeListener<T>>? filterListeners,
  31. OnInsertionCallback<T>? onInsertionCallback,
  32. VoidCallback? onClear,
  33. Logger? logger,
  34. int maxPagesInMemory = 5,
  35. RetryConfig? retryConfig,
  36. Duration? dataAge,
})

Creates a SmartPaginationColumn with a provider for data fetching.

The request and provider are required to configure pagination. Use itemBuilder to define how each item should be rendered.

Implementation

SmartPaginationColumn.withProvider({
  super.key,
  required super.request,
  required super.provider,
  required super.itemBuilder,
  super.heightOfInitialLoadingAndEmptyWidget,
  super.onError,
  super.onReachedEnd,
  super.onLoaded,
  super.emptyWidget,
  super.loadingWidget,
  super.bottomLoader,
  super.header,
  super.footer,
  super.beforeBuild,
  super.listBuilder,
  super.padding,
  super.allowImplicitScrolling,
  super.scrollController,
  super.cacheExtent,
  super.separator,
  super.spacing,
  super.firstPageLoadingBuilder,
  super.firstPageErrorBuilder,
  super.firstPageEmptyBuilder,
  super.loadMoreLoadingBuilder,
  super.loadMoreErrorBuilder,
  super.loadMoreNoMoreItemsBuilder,
  super.invisibleItemsThreshold,
  super.refreshListener,
  super.filterListeners,
  super.onInsertionCallback,
  super.onClear,
  super.logger,
  super.maxPagesInMemory,
  super.retryConfig,
  Duration? dataAge,
}) : super.columnWithProvider();