Handle missing isSearchActive
This commit is contained in:
parent
cf3fca5543
commit
68f8d72a98
1 changed files with 3 additions and 1 deletions
|
|
@ -37,12 +37,12 @@ import kotlinx.collections.immutable.persistentListOf
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
// TODO add unit tests
|
|
||||||
@ContributesBinding(SessionScope::class)
|
@ContributesBinding(SessionScope::class)
|
||||||
class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter {
|
class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter {
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
override fun present(): SelectUsersState {
|
override fun present(): SelectUsersState {
|
||||||
|
var isSearchActive by rememberSaveable { mutableStateOf(false) }
|
||||||
val selectedUsers: MutableState<ImmutableList<MatrixUser>> = remember { mutableStateOf(persistentListOf()) }
|
val selectedUsers: MutableState<ImmutableList<MatrixUser>> = remember { mutableStateOf(persistentListOf()) }
|
||||||
var searchQuery by rememberSaveable { mutableStateOf("") }
|
var searchQuery by rememberSaveable { mutableStateOf("") }
|
||||||
val searchResults: MutableState<ImmutableList<MatrixUser>> = remember {
|
val searchResults: MutableState<ImmutableList<MatrixUser>> = remember {
|
||||||
|
|
@ -51,6 +51,7 @@ class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter {
|
||||||
|
|
||||||
fun handleEvents(event: SelectUsersEvents) {
|
fun handleEvents(event: SelectUsersEvents) {
|
||||||
when (event) {
|
when (event) {
|
||||||
|
is SelectUsersEvents.OnSearchActiveChanged -> isSearchActive = event.active
|
||||||
is SelectUsersEvents.UpdateSearchQuery -> searchQuery = event.query
|
is SelectUsersEvents.UpdateSearchQuery -> searchQuery = event.query
|
||||||
is SelectUsersEvents.AddToSelection -> selectedUsers.value = selectedUsers.value.plus(event.matrixUser).toImmutableList()
|
is SelectUsersEvents.AddToSelection -> selectedUsers.value = selectedUsers.value.plus(event.matrixUser).toImmutableList()
|
||||||
is SelectUsersEvents.RemoveFromSelection -> selectedUsers.value = selectedUsers.value.minus(event.matrixUser).toImmutableList()
|
is SelectUsersEvents.RemoveFromSelection -> selectedUsers.value = selectedUsers.value.minus(event.matrixUser).toImmutableList()
|
||||||
|
|
@ -74,6 +75,7 @@ class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter {
|
||||||
searchQuery = searchQuery,
|
searchQuery = searchQuery,
|
||||||
searchResults = searchResults.value,
|
searchResults = searchResults.value,
|
||||||
selectedUsers = selectedUsers.value,
|
selectedUsers = selectedUsers.value,
|
||||||
|
isSearchActive = isSearchActive,
|
||||||
eventSink = ::handleEvents,
|
eventSink = ::handleEvents,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue