JetBuilder class
Unified state management for Jet framework
JetBuilder provides a simple, powerful API for handling all common state patterns:
- Pull to refresh
- Loading and error states
- Lists, grids, and single items
- Provider families
- Built-in error handling with custom error widgets
- Pagination (see JetPaginator for infinite scroll)
Basic Usage
Simple list:
JetBuilder.list(
provider: postsProvider,
itemBuilder: (post, index) => PostCard(post: post),
)
Grid with family:
JetBuilder.familyGrid(
provider: productsByCategoryProvider,
param: 'electronics',
crossAxisCount: 2,
itemBuilder: (product, index) => ProductCard(product: product),
)
Single item:
JetBuilder.item(
provider: userProvider,
builder: (user, ref) => UserProfile(user: user),
)
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
builder<
T> ({required FutureProvider< T> provider, required Widget builder(T data, WidgetRef ref), Widget? loading, Widget error(Object error, StackTrace? stackTrace)?, VoidCallback? onRetry, Future<void> onRefresh()?}) → Widget - Creates a refreshable widget with custom builder
-
familyBuilder<
T, Param> ({required FutureProvider< T> provider(Param), required Param param, required Widget builder(T data, WidgetRef ref), Widget? loading, Widget error(Object error, StackTrace? stackTrace)?, VoidCallback? onRetry, Future<void> onRefresh()?}) → Widget - Creates a refreshable widget with custom builder and family support
-
familyGrid<
T, Param> ({required FutureProvider< List< provider(Param), required Param param, required Widget itemBuilder(T item, int index), required int crossAxisCount, double crossAxisSpacing = 8.0, double mainAxisSpacing = 8.0, double childAspectRatio = 1.0, Widget? loading, Widget error(Object error, StackTrace? stackTrace)?, EdgeInsets? padding, bool shrinkWrap = false, ScrollPhysics? physics, VoidCallback? onRetry, Future<T> >void> onRefresh()?}) → Widget - Creates a refreshable grid widget with family support
-
familyItem<
T, Param> ({required FutureProvider< T> provider(Param), required Param param, required Widget builder(T item, WidgetRef ref), Widget? loading, Widget error(Object error, StackTrace? stackTrace)?, EdgeInsets? padding, ScrollPhysics? physics, VoidCallback? onRetry, Future<void> onRefresh()?}) → Widget - Creates a refreshable single item widget with family support
-
familyList<
T, Param> ({required FutureProvider< List< provider(Param), required Param param, required Widget itemBuilder(T item, int index), Widget? loading, Widget error(Object error, StackTrace? stackTrace)?, EdgeInsets? padding, bool shrinkWrap = false, ScrollPhysics? physics, VoidCallback? onRetry, Future<T> >void> onRefresh()?}) → Widget - Creates a refreshable list widget with family support
-
grid<
T> ({required FutureProvider< List< provider, required Widget itemBuilder(T item, int index), required int crossAxisCount, double crossAxisSpacing = 8.0, double mainAxisSpacing = 8.0, double childAspectRatio = 1.0, Widget? loading, Widget error(Object error, StackTrace? stackTrace)?, EdgeInsets? padding, bool shrinkWrap = false, ScrollPhysics? physics, VoidCallback? onRetry, Future<T> >void> onRefresh()?}) → Widget - Creates a refreshable grid widget
-
item<
T> ({required FutureProvider< T> provider, required Widget builder(T item, WidgetRef ref), Widget? loading, Widget error(Object error, StackTrace? stackTrace)?, EdgeInsets? padding, ScrollPhysics? physics, VoidCallback? onRetry, Future<void> onRefresh()?}) → Widget - Creates a refreshable single item widget
-
list<
T> ({required FutureProvider< List< provider, required Widget itemBuilder(T item, int index), required BuildContext context, Widget? loading, Widget errorBuilder(Object error, StackTrace? stackTrace)?, Widget? noItemsBuilder, Future<T> >void> noItemsAction()?, String? noItemsTitle, EdgeInsets? padding, bool shrinkWrap = false, ScrollPhysics? physics, Widget separatorBuilder(BuildContext, int)?, VoidCallback? onRetry, Future<void> onRefresh()?}) → Widget - Creates a refreshable list widget