Allow setting search bar title
This commit is contained in:
1 parent
e32a7b61b6
commit
0c54e8b0b3
2 files changed
+13
-5
No files matched your search
@@ -149,6 +149,7 @@ fun SearchBar(
|
||||
onActiveChange: (Boolean) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
enabled: Boolean = true,
|
||||
title: @Composable (() -> Unit)? = null,
|
||||
placeholder: @Composable (() -> Unit)? = null,
|
||||
leadingIcon: @Composable (() -> Unit)? = null,
|
||||
trailingIcon: @Composable (() -> Unit)? = null,
|
||||
@@ -277,6 +278,7 @@ fun SearchBar(
|
||||
onActiveChange = onActiveChange,
|
||||
modifier = Modifier.padding(paddingValues = animatedInputFieldPadding),
|
||||
enabled = enabled,
|
||||
label = title.takeUnless { active || animationProgress.value > 0 || state.text.isNotEmpty() },
|
||||
placeholder = placeholder,
|
||||
leadingIcon = leadingIcon,
|
||||
trailingIcon = trailingIcon,
|
||||
@@ -387,6 +389,7 @@ private fun SearchBarInputField(
|
||||
onActiveChange: (Boolean) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
enabled: Boolean = true,
|
||||
label: @Composable (() -> Unit)? = null,
|
||||
placeholder: @Composable (() -> Unit)? = null,
|
||||
leadingIcon: @Composable (() -> Unit)? = null,
|
||||
trailingIcon: @Composable (() -> Unit)? = null,
|
||||
@@ -427,6 +430,7 @@ private fun SearchBarInputField(
|
||||
singleLine = true,
|
||||
visualTransformation = VisualTransformation.None,
|
||||
interactionSource = interactionSource,
|
||||
label = label,
|
||||
placeholder = placeholder,
|
||||
leadingIcon = leadingIcon?.let { leading ->
|
||||
{
|
||||
|
||||
@@ -105,8 +105,9 @@ suspend fun SearchDao.suggestions(prefix: String, limit: Int) =
|
||||
|
||||
@Composable
|
||||
fun SearchBarScreen(
|
||||
title: String? = null,
|
||||
searchFieldState: TextFieldState,
|
||||
searchFieldHint: String = "",
|
||||
searchFieldHint: String? = null,
|
||||
showSearchFab: Boolean = false,
|
||||
onApplySearch: (String) -> Unit,
|
||||
onSearchExpanded: () -> Unit,
|
||||
@@ -249,7 +250,8 @@ fun SearchBarScreen(
|
||||
}
|
||||
active = it
|
||||
},
|
||||
placeholder = { Text(searchFieldHint) },
|
||||
title = title?.let { { Text(it) } },
|
||||
placeholder = searchFieldHint?.let { { Text(it) } },
|
||||
leadingIcon = {
|
||||
if (active) {
|
||||
IconButton(onClick = { hideSearchView() }) {
|
||||
@@ -327,7 +329,8 @@ abstract class SearchBarScene : BaseScene() {
|
||||
private val searchFieldState = TextFieldState()
|
||||
private var mSuggestionProvider: SuggestionProvider? = null
|
||||
private var onApplySearch: (String) -> Unit = {}
|
||||
private var searchFieldHint by mutableStateOf("")
|
||||
private var searchFieldHint by mutableStateOf<String?>(null)
|
||||
private var searchBarTitle by mutableStateOf<String?>(null)
|
||||
var showSearchFab by mutableStateOf(false)
|
||||
|
||||
protected abstract val fabLayout: View
|
||||
@@ -350,6 +353,7 @@ abstract class SearchBarScene : BaseScene() {
|
||||
val fabPadding = with(density) { 16.dp.roundToPx() }
|
||||
val margin = with(density) { 8.dp.roundToPx() }
|
||||
SearchBarScreen(
|
||||
title = searchBarTitle,
|
||||
searchFieldState = searchFieldState,
|
||||
searchFieldHint = searchFieldHint,
|
||||
showSearchFab = showSearchFab,
|
||||
@@ -452,7 +456,7 @@ abstract class SearchBarScene : BaseScene() {
|
||||
open fun onSearchViewHidden() {}
|
||||
|
||||
fun setTitle(title: String?) {
|
||||
// TODO
|
||||
searchBarTitle = title
|
||||
}
|
||||
|
||||
fun setSearchBarText(text: String?) {
|
||||
@@ -464,7 +468,7 @@ abstract class SearchBarScene : BaseScene() {
|
||||
}
|
||||
|
||||
fun setSearchBarHint(hint: String?) {
|
||||
searchFieldHint = hint.orEmpty()
|
||||
searchFieldHint = hint
|
||||
}
|
||||
|
||||
fun setOnApplySearch(lambda: (String) -> Unit) {
|
||||
|
||||
Reference in new issue
Block a user