11import Foundation
22import Yosemite
3- import WooFoundation
43
54final class BookingFiltersViewModel : FilterListViewModel {
65 let filterActionTitle = Localization . filterActionTitle
@@ -15,18 +14,9 @@ final class BookingFiltersViewModel: FilterListViewModel {
1514 private let paymentStatusFilterViewModel : FilterTypeViewModel
1615 private let dateTimeFilterViewModel : FilterTypeViewModel
1716
18- private let siteID : Int64
19- private let stores : StoresManager
20- private let analytics : Analytics
2117
2218 init ( filter: Filters ,
23- siteID: Int64 ,
24- stores: StoresManager = ServiceLocator . stores,
25- analytics: Analytics = ServiceLocator . analytics) {
26- self . siteID = siteID
27- self . stores = stores
28- self . analytics = analytics
29-
19+ siteID: Int64 ) {
3020 teamMemberFilterViewModel = BookingListFilter . teamMember ( siteID: siteID) . createViewModel ( filters: filter)
3121 productFilterViewModel = BookingListFilter . product ( siteID: siteID) . createViewModel ( filters: filter)
3222 customerFilterViewModel = BookingListFilter . customer ( siteID: siteID) . createViewModel ( filters: filter)
@@ -68,13 +58,7 @@ final class BookingFiltersViewModel: FilterListViewModel {
6858 }
6959
7060 func applyPastFilter( _ filter: Filters ) {
71- teamMemberFilterViewModel. selectedValue = filter. teamMember
72- productFilterViewModel. selectedValue = filter. product
73- customerFilterViewModel. selectedValue = filter. customer
74- attendanceStatusFilterViewModel. selectedValue = filter. attendanceStatus
75- paymentStatusFilterViewModel. selectedValue = filter. paymentStatus
76- dateTimeFilterViewModel. selectedValue = filter. dateRange
77- analytics. track ( event: . FilterHistory. trackPastFilterApplied ( source: source) )
61+ // TODO: Implement when booking filter history is available
7862 }
7963
8064 func saveSelectedFilterToHistory( _ filter: Filters ) {
@@ -120,6 +104,7 @@ final class BookingFiltersViewModel: FilterListViewModel {
120104 let customer : CustomerFilter ?
121105 let dateRange : BookingDateRangeFilter ?
122106
107+ // periphery:ignore - used by FilterListViewController
123108 let numberOfActiveFilters : Int
124109
125110 init ( ) {
@@ -180,9 +165,9 @@ extension BookingFiltersViewModel {
180165 enum BookingListFilter {
181166 case teamMember( siteID: Int64 )
182167 case product( siteID: Int64 )
183- case customer( siteID: Int64 )
184168 case attendanceStatus
185169 case paymentStatus
170+ case customer( siteID: Int64 )
186171 case dateTime
187172 }
188173}
@@ -209,7 +194,7 @@ private extension BookingFiltersViewModel.BookingListFilter {
209194extension BookingFiltersViewModel . BookingListFilter {
210195 func createViewModel( filters: BookingFiltersViewModel . Filters ) -> FilterTypeViewModel {
211196 switch self {
212- case . teamMember( let siteID ) :
197+ case . teamMember:
213198 // TODO: Implement team member selector when available
214199 // For now, using static options with nil (Any option)
215200 let options : [ BookingResource ? ] = [ nil ]
@@ -344,7 +329,7 @@ private extension BookingFiltersViewModel.BookingListFilter {
344329
345330 static let rowTitleCustomer = NSLocalizedString (
346331 " bookingFilters.rowTitleCustomer " ,
347- value: " Customer " ,
332+ value: " Customer name " ,
348333 comment: " Row title for filtering bookings by customer. " )
349334
350335 static let rowTitleAttendanceStatus = NSLocalizedString (
0 commit comments