62 lines
1.6 KiB
Kotlin
62 lines
1.6 KiB
Kotlin
package me.gilo.wc.di
|
|
|
|
import android.arch.lifecycle.ViewModel
|
|
import android.arch.lifecycle.ViewModelProvider
|
|
import com.google.firebase.firestore.CollectionReference
|
|
import dagger.Binds
|
|
import dagger.Module
|
|
import dagger.Provides
|
|
import dagger.multibindings.IntoMap
|
|
import me.gilo.wc.ui.order.MyOrdersActivity
|
|
import me.gilo.wc.utils.ViewModelFactory
|
|
import me.gilo.wc.viewmodels.*
|
|
|
|
import javax.inject.Named
|
|
import javax.inject.Singleton
|
|
|
|
|
|
@Module
|
|
abstract class ViewModelModule {
|
|
|
|
|
|
@Binds
|
|
@IntoMap
|
|
@ViewModelKey(UserViewModel::class)
|
|
internal abstract fun bindUserViewModel(viewModel: UserViewModel): ViewModel
|
|
|
|
@Binds
|
|
@IntoMap
|
|
@ViewModelKey(ProductViewModel::class)
|
|
internal abstract fun bindProductViewModel(viewModel: ProductViewModel): ViewModel
|
|
|
|
@Binds
|
|
@IntoMap
|
|
@ViewModelKey(CategoryViewModel::class)
|
|
internal abstract fun bindCategoryViewModel(viewModel: CategoryViewModel): ViewModel
|
|
|
|
@Binds
|
|
@IntoMap
|
|
@ViewModelKey(CustomerViewModel::class)
|
|
internal abstract fun bindCustomerViewModel(viewModel: CustomerViewModel): ViewModel
|
|
|
|
@Binds
|
|
@IntoMap
|
|
@ViewModelKey(CartViewModel::class)
|
|
internal abstract fun bindCartViewModel(viewModel: CartViewModel): ViewModel
|
|
|
|
@Binds
|
|
@IntoMap
|
|
@ViewModelKey(OrderViewModel::class)
|
|
internal abstract fun bindOrderViewModel(viewModel: OrderViewModel): ViewModel
|
|
|
|
@Binds
|
|
@IntoMap
|
|
@ViewModelKey(ReviewViewModel::class)
|
|
internal abstract fun bindReviewViewModel(viewModel: ReviewViewModel): ViewModel
|
|
|
|
@Binds
|
|
internal abstract fun bindViewModelFactory(factory: ViewModelFactory): ViewModelProvider.Factory
|
|
|
|
|
|
}
|