Skip to content

Commit ebae5bf

Browse files
committed
Simplify predicate logic
1 parent f7ba545 commit ebae5bf

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

WooCommerce/Classes/Bookings/BookingFilters/SyncableListSelectorViewModel.swift

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,11 @@ final class SyncableListSelectorViewModel<Syncable: ListSyncable>: ObservableObj
8484
currentSearchKeyword = query
8585

8686
// Update the predicate to filter by search results if needed
87-
if query.isEmpty {
88-
// Reset to base predicate when search is cleared
89-
resultsController.predicate = syncable.createPredicate()
90-
} else if let searchPredicate = syncable.createSearchPredicate(keyword: query) {
91-
// Combine base predicate with search predicate
92-
let basePredicate = syncable.createPredicate()
93-
resultsController.predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [basePredicate, searchPredicate])
94-
} else {
95-
// Keep base predicate if search predicate is not available
96-
resultsController.predicate = syncable.createPredicate()
87+
var predicates = [syncable.createPredicate()]
88+
if !query.isEmpty, let searchPredicate = syncable.createSearchPredicate(keyword: query) {
89+
predicates.append(searchPredicate)
9790
}
91+
resultsController.predicate = NSCompoundPredicate(andPredicateWithSubpredicates: predicates)
9892

9993
paginationTracker.syncFirstPage()
10094
}

0 commit comments

Comments
 (0)