Skip to content

Commit 3ec173f

Browse files
committed
Merge branch 'woomob-1240-ui-booking-filters' into woomob-1240-filter-team-member
2 parents ab84ef8 + 3e27a99 commit 3ec173f

File tree

2 files changed

+16
-27
lines changed

2 files changed

+16
-27
lines changed

Modules/Sources/Yosemite/Model/Bookings/FilterBookingsByProduct.swift renamed to Modules/Sources/Yosemite/Model/Bookings/BookingProductFilter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Foundation
33

44
/// Used to filter bookings by product
55
///
6-
public struct FilterBookingsByProduct: Codable, Hashable {
6+
public struct BookingProductFilter: Codable, Hashable {
77
/// ID of the product
88
///
99
public let id: Int64

WooCommerce/Classes/Bookings/BookingFilters/BookingFiltersViewModel.swift

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ final class BookingFiltersViewModel: FilterListViewModel {
3535
}
3636

3737
var criteria: Filters {
38-
let teamMember = teamMemberFilterViewModel.selectedValue as? BookingResource ?? nil
39-
let product = productFilterViewModel.selectedValue as? FilterBookingsByProduct ?? nil
40-
let customer = customerFilterViewModel.selectedValue as? CustomerFilter ?? nil
41-
let attendanceStatus = attendanceStatusFilterViewModel.selectedValue as? BookingAttendanceStatus ?? nil
42-
let paymentStatus = paymentStatusFilterViewModel.selectedValue as? BookingStatus ?? nil
43-
let dateRange = dateTimeFilterViewModel.selectedValue as? BookingDateRangeFilter ?? nil
38+
let teamMember = teamMemberFilterViewModel.selectedValue as? BookingResource
39+
let product = productFilterViewModel.selectedValue as? BookingProductFilter
40+
let customer = customerFilterViewModel.selectedValue as? CustomerFilter
41+
let attendanceStatus = attendanceStatusFilterViewModel.selectedValue as? BookingAttendanceStatus
42+
let paymentStatus = paymentStatusFilterViewModel.selectedValue as? BookingStatus
43+
let dateRange = dateTimeFilterViewModel.selectedValue as? BookingDateRangeFilter
4444
let numberOfActiveFilters = filterTypeViewModels.numberOfActiveFilters
4545

4646
return Filters(teamMember: teamMember,
@@ -74,31 +74,20 @@ final class BookingFiltersViewModel: FilterListViewModel {
7474
}
7575

7676
func clearAll() {
77-
let clearedTeamMember: BookingResource? = nil
78-
teamMemberFilterViewModel.selectedValue = clearedTeamMember
79-
80-
let clearedProduct: FilterBookingsByProduct? = nil
81-
productFilterViewModel.selectedValue = clearedProduct
82-
83-
let clearedCustomer: CustomerFilter? = nil
84-
customerFilterViewModel.selectedValue = clearedCustomer
85-
86-
let clearedAttendanceStatus: BookingAttendanceStatus? = nil
87-
attendanceStatusFilterViewModel.selectedValue = clearedAttendanceStatus
88-
89-
let clearedPaymentStatus: BookingStatus? = nil
90-
paymentStatusFilterViewModel.selectedValue = clearedPaymentStatus
91-
92-
let clearedDateRange: BookingDateRangeFilter? = nil
93-
dateTimeFilterViewModel.selectedValue = clearedDateRange
77+
teamMemberFilterViewModel.selectedValue = BookingResource?.none
78+
productFilterViewModel.selectedValue = BookingProductFilter?.none
79+
customerFilterViewModel.selectedValue = CustomerFilter?.none
80+
attendanceStatusFilterViewModel.selectedValue = BookingAttendanceStatus?.none
81+
paymentStatusFilterViewModel.selectedValue = BookingStatus?.none
82+
dateTimeFilterViewModel.selectedValue = BookingDateRangeFilter?.none
9483
}
9584

9685
typealias Criteria = Filters
9786

9887
struct Filters: Equatable, HumanReadable {
9988

10089
let teamMember: BookingResource?
101-
let product: FilterBookingsByProduct?
90+
let product: BookingProductFilter?
10291
let attendanceStatus: BookingAttendanceStatus?
10392
let paymentStatus: BookingStatus?
10493
let customer: CustomerFilter?
@@ -117,7 +106,7 @@ final class BookingFiltersViewModel: FilterListViewModel {
117106
}
118107

119108
init(teamMember: BookingResource?,
120-
product: FilterBookingsByProduct?,
109+
product: BookingProductFilter?,
121110
attendanceStatus: BookingAttendanceStatus?,
122111
paymentStatus: BookingStatus?,
123112
customer: CustomerFilter?,
@@ -260,7 +249,7 @@ extension BookingStatus: FilterType {
260249
}
261250
}
262251

263-
extension FilterBookingsByProduct: FilterType {
252+
extension BookingProductFilter: FilterType {
264253
/// The user-facing description of the filter value.
265254
var description: String { name }
266255

0 commit comments

Comments
 (0)