Adding callbacks on the SelectUsersView
This commit is contained in:
parent
79bd3da083
commit
25a1c2936d
2 changed files with 15 additions and 6 deletions
|
|
@ -71,6 +71,7 @@ fun CreateRoomRootView(
|
||||||
SelectUsersView(
|
SelectUsersView(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
state = state.selectUsersState,
|
state = state.selectUsersState,
|
||||||
|
onUserSelected = { state.eventSink.invoke(CreateRoomRootEvents.StartDM(it)) },
|
||||||
)
|
)
|
||||||
|
|
||||||
if (!state.selectUsersState.isSearchActive) {
|
if (!state.selectUsersState.isSearchActive) {
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,8 @@ import io.element.android.libraries.ui.strings.R as StringR
|
||||||
fun SelectUsersView(
|
fun SelectUsersView(
|
||||||
state: SelectUsersState,
|
state: SelectUsersState,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
|
onUserSelected: (MatrixUser) -> Unit = {},
|
||||||
|
onUserDeselected: (MatrixUser) -> Unit = {},
|
||||||
) {
|
) {
|
||||||
val eventSink = state.eventSink
|
val eventSink = state.eventSink
|
||||||
|
|
||||||
|
|
@ -80,8 +82,14 @@ fun SelectUsersView(
|
||||||
isMultiSelectionEnabled = state.isMultiSelectionEnabled,
|
isMultiSelectionEnabled = state.isMultiSelectionEnabled,
|
||||||
onActiveChanged = { eventSink.invoke(SelectUsersEvents.OnSearchActiveChanged(it)) },
|
onActiveChanged = { eventSink.invoke(SelectUsersEvents.OnSearchActiveChanged(it)) },
|
||||||
onTextChanged = { state.eventSink(SelectUsersEvents.UpdateSearchQuery(it)) },
|
onTextChanged = { state.eventSink(SelectUsersEvents.UpdateSearchQuery(it)) },
|
||||||
onResultSelected = { state.eventSink(SelectUsersEvents.AddToSelection(it)) },
|
onUserSelected = {
|
||||||
onUserRemoved = { eventSink(SelectUsersEvents.RemoveFromSelection(it)) },
|
state.eventSink(SelectUsersEvents.AddToSelection(it))
|
||||||
|
onUserSelected(it)
|
||||||
|
},
|
||||||
|
onUserDeselected = {
|
||||||
|
eventSink(SelectUsersEvents.RemoveFromSelection(it))
|
||||||
|
onUserDeselected(it)
|
||||||
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -98,8 +106,8 @@ fun SearchUserBar(
|
||||||
placeHolderTitle: String = stringResource(StringR.string.search_for_someone),
|
placeHolderTitle: String = stringResource(StringR.string.search_for_someone),
|
||||||
onActiveChanged: (Boolean) -> Unit = {},
|
onActiveChanged: (Boolean) -> Unit = {},
|
||||||
onTextChanged: (String) -> Unit = {},
|
onTextChanged: (String) -> Unit = {},
|
||||||
onResultSelected: (MatrixUser) -> Unit = {},
|
onUserSelected: (MatrixUser) -> Unit = {},
|
||||||
onUserRemoved: (MatrixUser) -> Unit = {},
|
onUserDeselected: (MatrixUser) -> Unit = {},
|
||||||
) {
|
) {
|
||||||
val focusManager = LocalFocusManager.current
|
val focusManager = LocalFocusManager.current
|
||||||
|
|
||||||
|
|
@ -152,7 +160,7 @@ fun SearchUserBar(
|
||||||
SelectedUsersList(
|
SelectedUsersList(
|
||||||
modifier = Modifier.padding(16.dp),
|
modifier = Modifier.padding(16.dp),
|
||||||
selectedUsers = selectedUsers,
|
selectedUsers = selectedUsers,
|
||||||
onUserRemoved = onUserRemoved,
|
onUserRemoved = onUserDeselected,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -160,7 +168,7 @@ fun SearchUserBar(
|
||||||
items(results) {
|
items(results) {
|
||||||
SearchUserResultItem(
|
SearchUserResultItem(
|
||||||
matrixUser = it,
|
matrixUser = it,
|
||||||
onClick = { onResultSelected(it) }
|
onClick = { onUserSelected(it) }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue