mirror of
https://github.com/flutter/samples.git
synced 2025-11-14 11:28:36 +00:00
Flutter 3.29 beta (#2571)
This commit is contained in:
@@ -86,12 +86,14 @@ class Entry {
|
||||
|
||||
static DateTime _timestampToDateTime(Timestamp timestamp) {
|
||||
return DateTime.fromMillisecondsSinceEpoch(
|
||||
timestamp.millisecondsSinceEpoch);
|
||||
timestamp.millisecondsSinceEpoch,
|
||||
);
|
||||
}
|
||||
|
||||
static Timestamp _dateTimeToTimestamp(DateTime dateTime) {
|
||||
return Timestamp.fromMillisecondsSinceEpoch(
|
||||
dateTime.millisecondsSinceEpoch);
|
||||
dateTime.millisecondsSinceEpoch,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -11,14 +11,12 @@ part of 'api.dart';
|
||||
// **************************************************************************
|
||||
|
||||
Category _$CategoryFromJson(Map<String, dynamic> json) {
|
||||
return Category(
|
||||
json['name'] as String,
|
||||
);
|
||||
return Category(json['name'] as String);
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$CategoryToJson(Category instance) => <String, dynamic>{
|
||||
'name': instance.name,
|
||||
};
|
||||
'name': instance.name,
|
||||
};
|
||||
|
||||
Entry _$EntryFromJson(Map<String, dynamic> json) {
|
||||
return Entry(
|
||||
@@ -28,6 +26,6 @@ Entry _$EntryFromJson(Map<String, dynamic> json) {
|
||||
}
|
||||
|
||||
Map<String, dynamic> _$EntryToJson(Entry instance) => <String, dynamic>{
|
||||
'value': instance.value,
|
||||
'time': Entry._dateTimeToTimestamp(instance.time),
|
||||
};
|
||||
'value': instance.value,
|
||||
'time': Entry._dateTimeToTimestamp(instance.time),
|
||||
};
|
||||
|
||||
@@ -14,8 +14,8 @@ class FirebaseDashboardApi implements DashboardApi {
|
||||
final CategoryApi categories;
|
||||
|
||||
FirebaseDashboardApi(FirebaseFirestore firestore, String userId)
|
||||
: entries = FirebaseEntryApi(firestore, userId),
|
||||
categories = FirebaseCategoryApi(firestore, userId);
|
||||
: entries = FirebaseEntryApi(firestore, userId),
|
||||
categories = FirebaseCategoryApi(firestore, userId);
|
||||
}
|
||||
|
||||
class FirebaseEntryApi implements EntryApi {
|
||||
@@ -24,7 +24,7 @@ class FirebaseEntryApi implements EntryApi {
|
||||
final CollectionReference<Map<String, dynamic>> _categoriesRef;
|
||||
|
||||
FirebaseEntryApi(this.firestore, this.userId)
|
||||
: _categoriesRef = firestore.collection('users/$userId/categories');
|
||||
: _categoriesRef = firestore.collection('users/$userId/categories');
|
||||
|
||||
@override
|
||||
Stream<List<Entry>> subscribe(String categoryId) {
|
||||
@@ -62,9 +62,10 @@ class FirebaseEntryApi implements EntryApi {
|
||||
Future<List<Entry>> list(String categoryId) async {
|
||||
var entriesRef = _categoriesRef.doc(categoryId).collection('entries');
|
||||
var querySnapshot = await entriesRef.get();
|
||||
var entries = querySnapshot.docs
|
||||
.map((doc) => Entry.fromJson(doc.data())..id = doc.id)
|
||||
.toList();
|
||||
var entries =
|
||||
querySnapshot.docs
|
||||
.map((doc) => Entry.fromJson(doc.data())..id = doc.id)
|
||||
.toList();
|
||||
|
||||
return entries;
|
||||
}
|
||||
@@ -91,7 +92,7 @@ class FirebaseCategoryApi implements CategoryApi {
|
||||
final CollectionReference<Map<String, dynamic>> _categoriesRef;
|
||||
|
||||
FirebaseCategoryApi(this.firestore, this.userId)
|
||||
: _categoriesRef = firestore.collection('users/$userId/categories');
|
||||
: _categoriesRef = firestore.collection('users/$userId/categories');
|
||||
|
||||
@override
|
||||
Stream<List<Category>> subscribe() {
|
||||
@@ -131,9 +132,10 @@ class FirebaseCategoryApi implements CategoryApi {
|
||||
@override
|
||||
Future<List<Category>> list() async {
|
||||
var querySnapshot = await _categoriesRef.get();
|
||||
var categories = querySnapshot.docs
|
||||
.map((doc) => Category.fromJson(doc.data())..id = doc.id)
|
||||
.toList();
|
||||
var categories =
|
||||
querySnapshot.docs
|
||||
.map((doc) => Category.fromJson(doc.data())..id = doc.id)
|
||||
.toList();
|
||||
|
||||
return categories;
|
||||
}
|
||||
|
||||
@@ -104,11 +104,12 @@ class MockEntryApi implements EntryApi {
|
||||
|
||||
@override
|
||||
Future<List<Entry>> list(String categoryId) async {
|
||||
var list = _storage.keys
|
||||
.where((k) => k.startsWith(categoryId))
|
||||
.map((k) => _storage[k])
|
||||
.nonNulls
|
||||
.toList();
|
||||
var list =
|
||||
_storage.keys
|
||||
.where((k) => k.startsWith(categoryId))
|
||||
.map((k) => _storage[k])
|
||||
.nonNulls
|
||||
.toList();
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -127,10 +128,11 @@ class MockEntryApi implements EntryApi {
|
||||
}
|
||||
|
||||
void _emit(String categoryId) {
|
||||
var entries = _storage.keys
|
||||
.where((k) => k.startsWith(categoryId))
|
||||
.map((k) => _storage[k]!)
|
||||
.toList();
|
||||
var entries =
|
||||
_storage.keys
|
||||
.where((k) => k.startsWith(categoryId))
|
||||
.map((k) => _storage[k]!)
|
||||
.toList();
|
||||
|
||||
_streamController.add(_EntriesEvent(categoryId, entries));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user