kopia lustrzana https://gitlab.com/mysocialportal/relatica
Handle entries not existing in providers during flattening op
rodzic
5d1967bb3b
commit
1df885117b
|
@ -18,10 +18,15 @@ extension FlatteningExtensions on EntryTreeItem {
|
||||||
final items = <FlattenedTreeItem>[];
|
final items = <FlattenedTreeItem>[];
|
||||||
|
|
||||||
// TODO handle if entries aren't in manager
|
// TODO handle if entries aren't in manager
|
||||||
final entryForItem =
|
final entryForItemResult =
|
||||||
ref.read(timelineEntryManagerProvider(profile, id)).value;
|
ref.read(timelineEntryManagerProvider(profile, id));
|
||||||
|
final entryForItem = entryForItemResult.value;
|
||||||
|
if (entryForItemResult.isFailure) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
final myEntry = FlattenedTreeItem(
|
final myEntry = FlattenedTreeItem(
|
||||||
timelineEntry: entryForItem,
|
timelineEntry: entryForItemResult.value,
|
||||||
isMine: isMine,
|
isMine: isMine,
|
||||||
level: level,
|
level: level,
|
||||||
);
|
);
|
||||||
|
@ -31,14 +36,25 @@ extension FlatteningExtensions on EntryTreeItem {
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
final sortedChildren = children.map((id) {
|
final sortedChildren = children
|
||||||
final tree = ref.read(entryTreeManagerProvider(profile, id)).value;
|
.map((id) {
|
||||||
final entry = ref.read(timelineEntryManagerProvider(profile, id)).value;
|
final treeResult = ref.read(entryTreeManagerProvider(profile, id));
|
||||||
return _EntryTreeItemWithEntity(entry, tree);
|
final entryResult =
|
||||||
}).toList();
|
ref.read(timelineEntryManagerProvider(profile, id));
|
||||||
|
if (treeResult.isFailure || entryResult.isFailure) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
final tree = ref.read(entryTreeManagerProvider(profile, id)).value;
|
||||||
|
final entry =
|
||||||
|
ref.read(timelineEntryManagerProvider(profile, id)).value;
|
||||||
|
return _EntryTreeItemWithEntity(entry, tree);
|
||||||
|
})
|
||||||
|
.where((e) => e != null)
|
||||||
|
.toList();
|
||||||
for (final child in sortedChildren) {
|
for (final child in sortedChildren) {
|
||||||
int childLevel = level + 1;
|
int childLevel = level + 1;
|
||||||
if (child.entry.authorId == entryForItem.authorId && level != baseLevel) {
|
if (child!.entry.authorId == entryForItem.authorId &&
|
||||||
|
level != baseLevel) {
|
||||||
childLevel = level;
|
childLevel = level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue