Skip to content

Commit be286c4

Browse files
committed
create filter by using existing .staticOptions design rather than custom case handling
1 parent 5b02539 commit be286c4

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

WooCommerce/Classes/ViewRelated/Filters/FilterListViewController.swift

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,6 @@ enum FilterListValueSelectorConfig {
9292
case products(siteID: Int64)
9393
// Filter list selector for customer
9494
case customer(siteID: Int64)
95-
// Filter list selector for sales channel
96-
case salesChannel
9795

9896
}
9997

@@ -299,10 +297,6 @@ private extension FilterListViewController {
299297
self.listSelector.reloadData()
300298
}
301299
self.listSelector.navigationController?.pushViewController(statusesFilterVC, animated: true)
302-
case .salesChannel:
303-
// TODO: Make OrderSalesChannelFilterViewController, and handle filtering selection WOOMOB-711
304-
let emptyViewController = EmptyStateViewController(style: .list)
305-
self.listSelector.navigationController?.pushViewController(emptyViewController, animated: true)
306300
case .ordersDateRange:
307301
let selectedOrderFilter = selected.selectedValue as? OrderDateRangeFilter
308302
let datesFilterVC = OrderDatesFilterViewController(selected: selectedOrderFilter) { dateRangeFilter in

WooCommerce/Classes/ViewRelated/Orders/Order Filters/FilterOrderListViewModel.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ final class FilterOrderListViewModel: FilterListViewModel {
210210

211211
let clearedCustomer: CustomerFilter? = nil
212212
customerFilterViewModel.selectedValue = clearedCustomer
213+
214+
let clearSalesChannel: SalesChannelFilter? = nil
215+
salesChannelFilterViewModel.selectedValue = clearSalesChannel
213216
}
214217
}
215218

@@ -262,8 +265,9 @@ extension FilterOrderListViewModel.OrderListFilter {
262265
listSelectorConfig: .customer(siteID: siteID),
263266
selectedValue: filters.customer)
264267
case .salesChannel:
268+
let salesChannelOptions: [FilterOrderListViewModel.SalesChannelFilter] = [.any, .pointOfSale]
265269
return FilterTypeViewModel(title: title,
266-
listSelectorConfig: .salesChannel,
270+
listSelectorConfig: .staticOptions(options: salesChannelOptions),
267271
selectedValue: filters.salesChannel)
268272
}
269273
}
@@ -375,16 +379,24 @@ extension CustomerFilter: FilterType {
375379
extension FilterOrderListViewModel {
376380
enum SalesChannelFilter: FilterType {
377381
case pointOfSale
382+
case any
378383

379384
var description: String {
380385
switch self {
381386
case .pointOfSale:
382-
return "POS"
387+
return NSLocalizedString("Point of Sale", comment: "Sales channel filter option for Point of Sale orders")
388+
case .any:
389+
return NSLocalizedString("Any", comment: "Sales channel filter option for all orders")
383390
}
384391
}
385392

386393
var isActive: Bool {
387-
return true
394+
switch self {
395+
case .pointOfSale:
396+
return true
397+
case .any:
398+
return false
399+
}
388400
}
389401
}
390402
}

0 commit comments

Comments
 (0)