From 4a079d17086e83f41c40fd1a4b79ea593043d3fc Mon Sep 17 00:00:00 2001 From: Momin Ahmad Date: Mon, 14 Nov 2022 20:18:09 +0530 Subject: [PATCH] feat(ui_firestore): Added empty builder in FirestoreListView (#9916) * Added empty builder in FirestoreListView #8614 fixed * fixed format --- packages/firebase_ui_firestore/lib/src/query_builder.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/firebase_ui_firestore/lib/src/query_builder.dart b/packages/firebase_ui_firestore/lib/src/query_builder.dart index e4a75a31ea94..59f2019ce447 100644 --- a/packages/firebase_ui_firestore/lib/src/query_builder.dart +++ b/packages/firebase_ui_firestore/lib/src/query_builder.dart @@ -362,6 +362,9 @@ typedef FirestoreErrorBuilder = Widget Function( StackTrace stackTrace, ); +/// A type representing the function passed to [FirestoreListView] for its `emptyBuilder`. +typedef FirestoreEmptyBuilder = Widget Function(BuildContext context); + /// {@template firebase_ui.firestorelistview} /// A [ListView.builder] that obtains its items from a Firestore query. /// @@ -422,6 +425,7 @@ class FirestoreListView extends FirestoreQueryBuilder { int pageSize = 10, FirestoreLoadingBuilder? loadingBuilder, FirestoreErrorBuilder? errorBuilder, + FirestoreEmptyBuilder? emptyBuilder, Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController? controller, @@ -459,6 +463,10 @@ class FirestoreListView extends FirestoreQueryBuilder { ); } + if (snapshot.docs.isEmpty && emptyBuilder != null) { + return emptyBuilder(context); + } + return ListView.builder( itemCount: snapshot.docs.length, itemBuilder: (context, index) {