Only use local fetch for certain filters

This commit is contained in:
Jackson Harper
2023-07-17 14:37:50 +08:00
parent d64c32a039
commit 3f3bdd2d4f
2 changed files with 12 additions and 1 deletions

View File

@ -183,6 +183,8 @@ import Views
cursor: isRefresh ? nil : cursor
)
let filter = LinkedItemFilter(rawValue: appliedFilter)
if let queryResult = queryResult {
let newItems: [LinkedItem] = {
var itemObjects = [LinkedItem]()
@ -192,7 +194,7 @@ import Views
return itemObjects
}()
if searchTerm.replacingOccurrences(of: " ", with: "").isEmpty, LinkedItemFilter(rawValue: appliedFilter) != .deleted {
if searchTerm.replacingOccurrences(of: " ", with: "").isEmpty, filter?.allowLocalFetch ?? false {
updateFetchController(dataService: dataService)
} else {
// Don't use FRC for searching. Use server results directly.

View File

@ -36,6 +36,15 @@ public extension LinkedItemFilter {
}
}
var allowLocalFetch: Bool {
switch self {
case .inbox:
return true
default:
return false
}
}
var predicate: NSPredicate {
let undeletedPredicate = NSPredicate(
format: "%K != %i AND %K != \"DELETED\"",