Deepak Gahlot
05/18/2021, 1:06 PMDeepak Gahlot
05/18/2021, 1:07 PMprivate val selectedMasterDataItem = MutableStateFlow(listOf<DataItem>())
val selectedMasterDataItemList: StateFlow<List<DataItem>> get() = selectedMasterDataItem
fun onCommodityCheckBoxClicked(dataItemId: DataItem) {
selectedMasterDataItem.value =
selectedMasterDataItem.value.toMutableList().also { list ->
if (list.contains(dataItemId)) list.remove(dataItemId) else list.add(dataItemId)
}
}
Deepak Gahlot
05/18/2021, 1:08 PMval checkedItemList = questionnaireViewModel.selectedMasterDataItemList.collectAsState()
val idListForAnswer = ArrayList<String>()
if (!checkedItemList.value.isNullOrEmpty()) {
var count: String? = null
checkedItemList.value.forEach {
idListForAnswer.add(it.key!!)
}
if (idListForAnswer.size > 1) {
count = idListForAnswer.size.toString().plus(" ").plus(stringResource(id = R.string.COMMODITY_SUFFIX))
textState.value = count
} else {
textState.value = checkedItemList.value.first().name!!
}
currentAnswer.multiValueAnswer = idListForAnswer
MappingUtils.getAnswerForItemId(
questions.itemId!!,
null,
aList = qResponse.answers as List<AnswersItem>,
idListForAnswer,
true
)
} else {
val idListForAnswer = ArrayList<String>()
currentAnswer.multiValueAnswer = idListForAnswer
MappingUtils.getAnswerForItemId(
questions.itemId!!,
null,
aList = qResponse.answers as List<AnswersItem>,
idListForAnswer,
true
)
}
Deepak Gahlot
05/18/2021, 1:09 PMDeepak Gahlot
05/18/2021, 1:15 PM