1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-29 16:26:27 +00:00
comunicmobile/lib/lists/posts_list.dart

42 lines
786 B
Dart

import 'dart:collection';
import 'package:comunic/models/post.dart';
/// Posts List
///
/// Contains method to easily process a list of posts
///
/// @author Pierre HUBERT
class PostsList extends ListBase<Post> {
List<Post> _list = List();
int get length => _list.length;
set length(int l) => _list.length = l;
@override
Post operator [](int index) => _list[index];
@override
void operator []=(int index, Post value) => _list[index] = value;
// Get the list of users ID in this set
Set<int> get usersID {
Set<int> set = Set();
forEach((p) {
set.add(p.userID);
if(p.userPageID != null && p.userPageID > 0)
set.add(p.userPageID);
if(p.comments != null)
set.addAll(p.comments.usersID);
});
return set;
}
}