Submodules are now also filtered

This commit is contained in:
Abdelilah El Aissaoui 2023-04-08 21:03:00 +02:00
parent 4978af23d8
commit 03b84ff9c3
No known key found for this signature in database
GPG Key ID: 7587FC860F594869

View File

@ -27,24 +27,16 @@ class SubmodulesViewModel @AssistedInject constructor(
) : SidePanelChildViewModel(true) { ) : SidePanelChildViewModel(true) {
private val _submodules = MutableStateFlow<List<Pair<String, SubmoduleStatus>>>(listOf()) private val _submodules = MutableStateFlow<List<Pair<String, SubmoduleStatus>>>(listOf())
val submodules: StateFlow<SubmodulesState> = _submodules.combine(isExpanded) { submodules, isExpanded -> val submodules: StateFlow<SubmodulesState> =
SubmodulesState(submodules, isExpanded)
}.stateIn(
scope = tabScope,
started = SharingStarted.Eagerly,
initialValue = SubmodulesState(emptyList(), isExpanded.value)
)
val submodulesState: StateFlow<SubmodulesState> =
combine(_submodules, isExpanded, filter) { submodules, isExpanded, filter -> combine(_submodules, isExpanded, filter) { submodules, isExpanded, filter ->
SubmodulesState( SubmodulesState(
submodules = submodules.filter { it.first.lowercaseContains(filter) }, submodules = submodules.filter { it.first.lowercaseContains(filter) },
isExpanded isExpanded = isExpanded
) )
}.stateIn( }.stateIn(
tabScope, scope = tabScope,
SharingStarted.Eagerly, started = SharingStarted.Eagerly,
SubmodulesState(emptyList(), isExpanded.value) initialValue = SubmodulesState(emptyList(), isExpanded.value)
) )
init { init {