From 9f37bebd4c2e8a417e214669d5cb953e20e42a89 Mon Sep 17 00:00:00 2001 From: hunnihundert <47563806+hunnihundert@users.noreply.github.com> Date: Sat, 11 Jul 2020 17:05:08 +0900 Subject: [PATCH] add "on unit selection" toggle visibility of "unit selection window" related items --- .../common/helprequest/HelpRequestCreateArticleBinder.kt | 9 +++++++-- .../nexd/android/ui/common/helprequest/UnitViewBinder.kt | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt b/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt index cbe17b5..49a673c 100644 --- a/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt +++ b/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt @@ -19,7 +19,8 @@ import mva2.extension.DBItemBinder internal typealias ArticleViewModelBinder = DBItemBinder -class HelpRequestCreateArticleBinder(private val lifecycleOwner: LifecycleOwner) : ArticleViewModelBinder() { +class HelpRequestCreateArticleBinder(private val lifecycleOwner: LifecycleOwner) : + ArticleViewModelBinder() { data class ArticleViewModel( val article: MutableLiveData, @@ -85,10 +86,14 @@ class HelpRequestCreateArticleBinder(private val lifecycleOwner: LifecycleOwner) val adapter = binding.recyclerviewNewArticleUnits.adapter as MultiViewAdapter adapter.removeAllSections() + adapter.registerItemBinders( UnitViewBinder( lifecycleOwner, - viewModel.selectedUnit)) + viewModel.selectedUnit, + viewModel::toggleUnitsVisibility + ) + ) with(ListSection()) { adapter.addSection(this) diff --git a/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt b/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt index cc20751..a86b007 100644 --- a/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt +++ b/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt @@ -7,10 +7,12 @@ import androidx.lifecycle.MutableLiveData import app.nexd.android.api.model.Unit import app.nexd.android.databinding.ViewChipArticleUnitBinding import mva2.extension.DBItemBinder +import kotlin.reflect.KFunction0 class UnitViewBinder( private val lifecycleOwner: LifecycleOwner, - private val selectedUnit: MutableLiveData + private val selectedUnit: MutableLiveData, + private val toggleVisibilityFunction: KFunction0 ) : DBItemBinder() { override fun canBindData(item: Any?): Boolean { @@ -30,6 +32,7 @@ class UnitViewBinder( binding.root.setOnClickListener { selectedUnit.value = unit + toggleVisibilityFunction() } binding.articleUnitName.isSelected = true