use list instead of set
This commit is contained in:
parent
6f299dd7f9
commit
4f6acc12a2
6 changed files with 32 additions and 36 deletions
|
|
@ -19,12 +19,11 @@ package io.element.android.features.selectusers.api
|
|||
import androidx.compose.foundation.lazy.LazyListState
|
||||
import io.element.android.libraries.matrix.ui.model.MatrixUser
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.ImmutableSet
|
||||
|
||||
data class SelectUsersState(
|
||||
val searchQuery: String,
|
||||
val searchResults: ImmutableList<MatrixUser>,
|
||||
val selectedUsers: ImmutableSet<MatrixUser>,
|
||||
val selectedUsers: ImmutableList<MatrixUser>,
|
||||
val selectedUsersListState: LazyListState,
|
||||
val isSearchActive: Boolean,
|
||||
val selectionMode: SelectionMode,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
|||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.ui.model.MatrixUser
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.collections.immutable.persistentSetOf
|
||||
|
||||
open class SelectUsersStateProvider : PreviewParameterProvider<SelectUsersState> {
|
||||
override val values: Sequence<SelectUsersState>
|
||||
|
|
@ -29,7 +28,7 @@ open class SelectUsersStateProvider : PreviewParameterProvider<SelectUsersState>
|
|||
aSelectUsersState(),
|
||||
aSelectUsersState().copy(
|
||||
isSearchActive = false,
|
||||
selectedUsers = aSetOfSelectedUsers(),
|
||||
selectedUsers = aListOfSelectedUsers(),
|
||||
selectionMode = SelectionMode.Multiple,
|
||||
),
|
||||
aSelectUsersState().copy(isSearchActive = true),
|
||||
|
|
@ -38,14 +37,14 @@ open class SelectUsersStateProvider : PreviewParameterProvider<SelectUsersState>
|
|||
aSelectUsersState().copy(
|
||||
isSearchActive = true,
|
||||
searchQuery = "@someone:matrix.org",
|
||||
selectedUsers = aSetOfSelectedUsers(),
|
||||
selectedUsers = aListOfSelectedUsers(),
|
||||
searchResults = aListOfResults(),
|
||||
),
|
||||
aSelectUsersState().copy(
|
||||
isSearchActive = true,
|
||||
searchQuery = "@someone:matrix.org",
|
||||
selectionMode = SelectionMode.Multiple,
|
||||
selectedUsers = aSetOfSelectedUsers(),
|
||||
selectedUsers = aListOfSelectedUsers(),
|
||||
searchResults = aListOfResults(),
|
||||
)
|
||||
)
|
||||
|
|
@ -55,7 +54,7 @@ fun aSelectUsersState() = SelectUsersState(
|
|||
isSearchActive = false,
|
||||
searchQuery = "",
|
||||
searchResults = persistentListOf(),
|
||||
selectedUsers = persistentSetOf(),
|
||||
selectedUsers = persistentListOf(),
|
||||
selectedUsersListState = LazyListState(
|
||||
firstVisibleItemIndex = 0,
|
||||
firstVisibleItemScrollOffset = 0,
|
||||
|
|
@ -64,7 +63,7 @@ fun aSelectUsersState() = SelectUsersState(
|
|||
eventSink = {}
|
||||
)
|
||||
|
||||
fun aSetOfSelectedUsers() = persistentSetOf(
|
||||
fun aListOfSelectedUsers() = persistentListOf(
|
||||
MatrixUser(id = UserId("@someone:matrix.org")),
|
||||
MatrixUser(id = UserId("@other:matrix.org"), username = "other"),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -61,7 +61,6 @@ import io.element.android.libraries.matrix.ui.components.MatrixUserRow
|
|||
import io.element.android.libraries.matrix.ui.model.MatrixUser
|
||||
import io.element.android.libraries.matrix.ui.model.getBestName
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.ImmutableSet
|
||||
import io.element.android.libraries.ui.strings.R as StringR
|
||||
|
||||
@Composable
|
||||
|
|
@ -113,7 +112,7 @@ fun SelectUsersView(
|
|||
fun SearchUserBar(
|
||||
query: String,
|
||||
results: ImmutableList<MatrixUser>,
|
||||
selectedUsers: ImmutableSet<MatrixUser>,
|
||||
selectedUsers: ImmutableList<MatrixUser>,
|
||||
selectedUsersListState: LazyListState,
|
||||
active: Boolean,
|
||||
isMultiSelectionEnabled: Boolean,
|
||||
|
|
@ -243,7 +242,7 @@ fun SearchSingleUserResultItem(
|
|||
@Composable
|
||||
fun SelectedUsersList(
|
||||
listState: LazyListState,
|
||||
selectedUsers: ImmutableSet<MatrixUser>,
|
||||
selectedUsers: ImmutableList<MatrixUser>,
|
||||
modifier: Modifier = Modifier,
|
||||
onUserRemoved: (MatrixUser) -> Unit = {},
|
||||
) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue