mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Get and show the name of conversation members
This commit is contained in:
		
							
								
								
									
										33
									
								
								lib/lists/conversations_list.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								lib/lists/conversations_list.dart
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
import 'dart:collection';
 | 
			
		||||
 | 
			
		||||
import 'package:comunic/lists/users_list.dart';
 | 
			
		||||
import 'package:comunic/models/conversation.dart';
 | 
			
		||||
 | 
			
		||||
/// Conversations list
 | 
			
		||||
///
 | 
			
		||||
/// @author Pierre HUBERT
 | 
			
		||||
 | 
			
		||||
class ConversationsList extends ListBase<Conversation> {
 | 
			
		||||
 | 
			
		||||
  final List<Conversation> _list = List();
 | 
			
		||||
  UsersList users;
 | 
			
		||||
 | 
			
		||||
  set length(l) => _list.length = l;
 | 
			
		||||
  int get length => _list.length;
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Conversation operator [](int index) => _list[index];
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  void operator []=(int index, Conversation value) => _list[index] = value;
 | 
			
		||||
 | 
			
		||||
  /// Get the entire lists of users ID in this list
 | 
			
		||||
  List<int> get allUsersID {
 | 
			
		||||
    final List<int> list = List();
 | 
			
		||||
    forEach((c) => c.members.forEach((id){
 | 
			
		||||
      if(!list.contains(id))
 | 
			
		||||
        list.add(id);
 | 
			
		||||
    }));
 | 
			
		||||
    return list;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										34
									
								
								lib/lists/users_list.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								lib/lists/users_list.dart
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
import 'dart:collection';
 | 
			
		||||
 | 
			
		||||
import 'package:comunic/models/user.dart';
 | 
			
		||||
 | 
			
		||||
/// Users list
 | 
			
		||||
///
 | 
			
		||||
/// @author Pierre HUBERT
 | 
			
		||||
 | 
			
		||||
class UsersList extends ListBase<User> {
 | 
			
		||||
 | 
			
		||||
  List<User> _list = List();
 | 
			
		||||
 | 
			
		||||
  int get length => _list.length;
 | 
			
		||||
  set length(l) => _list.length = l;
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  User operator [](int index) {
 | 
			
		||||
    return _list[index];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  void operator []=(int index, User value) {
 | 
			
		||||
    _list[index] = value;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /// Find a user with a specific ID
 | 
			
		||||
  User getUser(int userID){
 | 
			
		||||
    for(int i = 0; i < this.length; i++)
 | 
			
		||||
      if(this[i].id == userID)
 | 
			
		||||
        return this[i];
 | 
			
		||||
 | 
			
		||||
      throw "User not found in the list!";
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user