Skip to content

Commit 69be33e

Browse files
committed
Calculate numberOfActiveFilters directly inside initializer
1 parent c29d868 commit 69be33e

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

Modules/Sources/Yosemite/Model/Bookings/StoredBookingFilters.swift

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Codegen
66
///
77
public struct StoredBookingFilters: Codable, Equatable, GeneratedFakeable {
88

9-
/// SiteID: BookingFilters
9+
/// SiteID: Booking Filters
1010
public let filters: [Int64: Filters]
1111

1212
public init(filters: [Int64: Filters]) {
@@ -20,6 +20,7 @@ public struct StoredBookingFilters: Codable, Equatable, GeneratedFakeable {
2020
public let paymentStatuses: [BookingStatus]
2121
public let customers: [BookingCustomerFilter]
2222
public let dateRange: BookingDateRangeFilter?
23+
public let numberOfActiveFilters: Int
2324

2425
public init(teamMembers: [BookingTeamMemberFilter],
2526
products: [BookingProductFilter],
@@ -33,30 +34,29 @@ public struct StoredBookingFilters: Codable, Equatable, GeneratedFakeable {
3334
self.paymentStatuses = paymentStatuses
3435
self.customers = customers
3536
self.dateRange = dateRange
36-
}
37-
38-
public func numberOfActiveFilters() -> Int {
39-
var total = 0
40-
if teamMembers.isNotEmpty {
41-
total += 1
42-
}
43-
if products.isNotEmpty {
44-
total += 1
45-
}
46-
if attendanceStatuses.isNotEmpty {
47-
total += 1
48-
}
49-
if customers.isNotEmpty {
50-
total += 1
51-
}
52-
if paymentStatuses.isNotEmpty {
53-
total += 1
54-
}
55-
if dateRange != nil {
56-
total += 1
57-
}
37+
self.numberOfActiveFilters = {
38+
var total = 0
39+
if teamMembers.isNotEmpty {
40+
total += 1
41+
}
42+
if products.isNotEmpty {
43+
total += 1
44+
}
45+
if attendanceStatuses.isNotEmpty {
46+
total += 1
47+
}
48+
if customers.isNotEmpty {
49+
total += 1
50+
}
51+
if paymentStatuses.isNotEmpty {
52+
total += 1
53+
}
54+
if dateRange != nil {
55+
total += 1
56+
}
5857

59-
return total
58+
return total
59+
}()
6060
}
6161
}
6262
}

WooCommerce/Classes/Bookings/BookingList/BookingListContainerViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ private extension BookingListContainerViewModel {
135135
paymentStatuses: storedFilters.paymentStatuses,
136136
customers: storedFilters.customers,
137137
dateRange: storedFilters.dateRange,
138-
numberOfActiveFilters: storedFilters.numberOfActiveFilters()
138+
numberOfActiveFilters: storedFilters.numberOfActiveFilters
139139
)
140140
updateFilters(filters, shouldPersist: false)
141141
}

0 commit comments

Comments
 (0)