Skip to content

Commit 42df91a

Browse files
Extract BookingCustomerFilterViewModel to a new file
1 parent c205546 commit 42df91a

File tree

2 files changed

+45
-42
lines changed

2 files changed

+45
-42
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/bookings/filter/customer/BookingCustomerFilterPage.kt

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,8 @@ package com.woocommerce.android.ui.bookings.filter.customer
22

33
import androidx.compose.runtime.Composable
44
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
5-
import androidx.lifecycle.SavedStateHandle
6-
import com.woocommerce.android.analytics.AnalyticsTrackerWrapper
75
import com.woocommerce.android.model.Order
8-
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListGetSupportedSearchModes
9-
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListIsAdvancedSearchSupported
10-
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListRepository
116
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListSelectionScreen
12-
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListSelectionViewModel
13-
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListViewModelMapper
14-
import com.woocommerce.android.util.StringUtils
15-
import dagger.assisted.Assisted
16-
import dagger.assisted.AssistedFactory
17-
import dagger.assisted.AssistedInject
18-
import dagger.hilt.android.lifecycle.HiltViewModel
19-
20-
@Suppress("LongParameterList")
21-
@HiltViewModel(assistedFactory = BookingCustomerFilterViewModel.Factory::class)
22-
class BookingCustomerFilterViewModel @AssistedInject constructor(
23-
savedStateHandle: SavedStateHandle,
24-
repository: CustomerListRepository,
25-
mapper: CustomerListViewModelMapper,
26-
isAdvancedSearchSupported: CustomerListIsAdvancedSearchSupported,
27-
getSupportedSearchModes: CustomerListGetSupportedSearchModes,
28-
analyticsTracker: AnalyticsTrackerWrapper,
29-
stringUtils: StringUtils,
30-
@Assisted private val onCustomerSelected: (Order.Customer) -> Unit
31-
) : CustomerListSelectionViewModel(
32-
savedStateHandle,
33-
repository,
34-
mapper,
35-
isAdvancedSearchSupported,
36-
getSupportedSearchModes,
37-
analyticsTracker,
38-
stringUtils
39-
) {
40-
override fun exitWithCustomer(customer: Order.Customer) {
41-
this.onCustomerSelected.invoke(customer)
42-
}
43-
44-
@AssistedFactory
45-
interface Factory {
46-
fun create(onCustomerSelected: (Order.Customer) -> Unit): BookingCustomerFilterViewModel
47-
}
48-
}
497

508
@Composable
519
fun BookingCustomerFilterPage(
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.woocommerce.android.ui.bookings.filter.customer
2+
3+
import androidx.lifecycle.SavedStateHandle
4+
import com.woocommerce.android.analytics.AnalyticsTrackerWrapper
5+
import com.woocommerce.android.model.Order
6+
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListGetSupportedSearchModes
7+
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListIsAdvancedSearchSupported
8+
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListRepository
9+
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListSelectionViewModel
10+
import com.woocommerce.android.ui.orders.creation.customerlist.CustomerListViewModelMapper
11+
import com.woocommerce.android.util.StringUtils
12+
import dagger.assisted.Assisted
13+
import dagger.assisted.AssistedFactory
14+
import dagger.assisted.AssistedInject
15+
import dagger.hilt.android.lifecycle.HiltViewModel
16+
17+
@Suppress("LongParameterList")
18+
@HiltViewModel(assistedFactory = BookingCustomerFilterViewModel.Factory::class)
19+
class BookingCustomerFilterViewModel @AssistedInject constructor(
20+
savedStateHandle: SavedStateHandle,
21+
repository: CustomerListRepository,
22+
mapper: CustomerListViewModelMapper,
23+
isAdvancedSearchSupported: CustomerListIsAdvancedSearchSupported,
24+
getSupportedSearchModes: CustomerListGetSupportedSearchModes,
25+
analyticsTracker: AnalyticsTrackerWrapper,
26+
stringUtils: StringUtils,
27+
@Assisted private val onCustomerSelected: (Order.Customer) -> Unit
28+
) : CustomerListSelectionViewModel(
29+
savedStateHandle,
30+
repository,
31+
mapper,
32+
isAdvancedSearchSupported,
33+
getSupportedSearchModes,
34+
analyticsTracker,
35+
stringUtils
36+
) {
37+
override fun exitWithCustomer(customer: Order.Customer) {
38+
this.onCustomerSelected.invoke(customer)
39+
}
40+
41+
@AssistedFactory
42+
interface Factory {
43+
fun create(onCustomerSelected: (Order.Customer) -> Unit): BookingCustomerFilterViewModel
44+
}
45+
}

0 commit comments

Comments
 (0)