Introduce SelectionMode enum
This commit is contained in:
parent
d08a131429
commit
9153d8ced3
8 changed files with 27 additions and 16 deletions
|
|
@ -17,5 +17,10 @@
|
|||
package io.element.android.features.selectusers.api
|
||||
|
||||
data class SelectUsersPresenterArgs(
|
||||
val isMultiSelectionEnabled: Boolean,
|
||||
val selectionMode: SelectionMode,
|
||||
)
|
||||
|
||||
enum class SelectionMode {
|
||||
Single,
|
||||
Multiple,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ data class SelectUsersState(
|
|||
val selectedUsers: ImmutableSet<MatrixUser>,
|
||||
val selectedUsersListState: LazyListState,
|
||||
val isSearchActive: Boolean,
|
||||
val isMultiSelectionEnabled: Boolean,
|
||||
val selectionMode: SelectionMode,
|
||||
val eventSink: (SelectUsersEvents) -> Unit,
|
||||
)
|
||||
) {
|
||||
val isMultiSelectionEnabled = selectionMode == SelectionMode.Multiple
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@ open class SelectUsersStateProvider : PreviewParameterProvider<SelectUsersState>
|
|||
aSelectUsersState().copy(
|
||||
isSearchActive = false,
|
||||
selectedUsers = aSetOfSelectedUsers(),
|
||||
isMultiSelectionEnabled = true
|
||||
selectionMode = SelectionMode.Multiple,
|
||||
),
|
||||
aSelectUsersState().copy(isSearchActive = true),
|
||||
aSelectUsersState().copy(isSearchActive = true, searchQuery = "someone"),
|
||||
aSelectUsersState().copy(isSearchActive = true, searchQuery = "someone", isMultiSelectionEnabled = true),
|
||||
aSelectUsersState().copy(isSearchActive = true, searchQuery = "someone", selectionMode = SelectionMode.Multiple),
|
||||
aSelectUsersState().copy(
|
||||
isSearchActive = true,
|
||||
searchQuery = "@someone:matrix.org",
|
||||
|
|
@ -44,7 +44,7 @@ open class SelectUsersStateProvider : PreviewParameterProvider<SelectUsersState>
|
|||
aSelectUsersState().copy(
|
||||
isSearchActive = true,
|
||||
searchQuery = "@someone:matrix.org",
|
||||
isMultiSelectionEnabled = true,
|
||||
selectionMode = SelectionMode.Multiple,
|
||||
selectedUsers = aSetOfSelectedUsers(),
|
||||
searchResults = aListOfResults(),
|
||||
)
|
||||
|
|
@ -60,7 +60,7 @@ fun aSelectUsersState() = SelectUsersState(
|
|||
firstVisibleItemIndex = 0,
|
||||
firstVisibleItemScrollOffset = 0,
|
||||
),
|
||||
isMultiSelectionEnabled = false,
|
||||
selectionMode = SelectionMode.Single,
|
||||
eventSink = {}
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue