check null safety
This commit is contained in:
@@ -13,7 +13,7 @@ class Paginator<T> {
|
||||
final log = Logger('Paginator');
|
||||
|
||||
final int rowPerLoad;
|
||||
DocumentSnapshot prev;
|
||||
DocumentSnapshot? prev;
|
||||
bool ended = false;
|
||||
bool isLoading = false;
|
||||
List<T> values = [];
|
||||
@@ -21,7 +21,7 @@ class Paginator<T> {
|
||||
|
||||
Query pageQuery;
|
||||
|
||||
Paginator(this.pageQuery, {this.rowPerLoad = 20, this.toObj}) {
|
||||
Paginator(this.pageQuery, {this.rowPerLoad = 20, required this.toObj}) {
|
||||
_clearState();
|
||||
}
|
||||
|
||||
@@ -36,27 +36,27 @@ class Paginator<T> {
|
||||
_clearState();
|
||||
}
|
||||
|
||||
Future<void> refresh({CallBack onFinished}) async {
|
||||
Future<void> refresh({CallBack? onFinished}) async {
|
||||
_clearState();
|
||||
await load();
|
||||
if (onFinished != null) onFinished();
|
||||
}
|
||||
|
||||
Future<bool> load({CallBack onFinished}) async {
|
||||
Future<bool?> load({CallBack? onFinished}) async {
|
||||
if (ended) return null;
|
||||
isLoading = true;
|
||||
Query _query =
|
||||
prev != null ? pageQuery.startAfterDocument(prev) : pageQuery;
|
||||
prev != null ? pageQuery.startAfterDocument(prev!) : pageQuery;
|
||||
try {
|
||||
await _query
|
||||
.limit(rowPerLoad)
|
||||
.getDocuments(source: Source.server)
|
||||
.get(GetOptions(source: Source.server))
|
||||
.then((QuerySnapshot snapshot) {
|
||||
int count = snapshot.documents.length;
|
||||
int count = snapshot.docs.length;
|
||||
ended = count < rowPerLoad;
|
||||
prev = count > 0 ? snapshot.documents[count - 1] : prev;
|
||||
snapshot.documents.forEach((e) {
|
||||
values.add(toObj(e.data, e.documentID));
|
||||
prev = count > 0 ? snapshot.docs[count - 1] : prev;
|
||||
snapshot.docs.forEach((e) {
|
||||
values.add(toObj(e.data() as Map<String, dynamic>, e.id));
|
||||
});
|
||||
});
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user