mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Room List Filters implementation (#2423)
This commit is contained in:
@@ -87,10 +87,28 @@ enum RoomSummary: CustomStringConvertible, Equatable {
|
||||
}
|
||||
}
|
||||
|
||||
enum RoomSummaryProviderFilter {
|
||||
case none
|
||||
case all
|
||||
case normalizedMatchRoomName(String)
|
||||
enum RoomSummaryProviderFilter: Equatable {
|
||||
struct Predicate: Equatable {
|
||||
let query: String?
|
||||
let filters: Set<RoomListFilter>
|
||||
|
||||
static var all: Predicate {
|
||||
Predicate()
|
||||
}
|
||||
|
||||
/// - Parameters:
|
||||
/// - query: If provided the filter will do a normalized search, default is nil
|
||||
/// - filters: Additional filters that can be provided for further filtering the room list, default is empty which means no additional filtering is done
|
||||
init(query: String? = nil, filters: Set<RoomListFilter> = []) {
|
||||
self.query = query
|
||||
self.filters = filters
|
||||
}
|
||||
}
|
||||
|
||||
/// Filters out everything
|
||||
case excludeAll
|
||||
/// Includes only the items that satisfy the predicate logic
|
||||
case include(Predicate)
|
||||
}
|
||||
|
||||
protocol RoomSummaryProviderProtocol {
|
||||
|
||||
Reference in New Issue
Block a user