PreferenceListMulti

fun <T> PreferenceScope.PreferenceListMulti(value: MutableState<List<T>>, items: List<T>, itemTextProvider: @Composable (item: T) -> String = { it.toString() }, itemIconProvider: @Composable (item: T) -> Unit? = null, formatter: @Composable (selected: List<T>) -> String = { selected -> selected.map { itemTextProvider(it) }.joinToString(";") }, title: String, enabled: Dependency = Dependency.Enabled, visible: Dependency = Dependency.Enabled, subtitle: String? = null, icon: @Composable () -> Unit? = null, itemStyle: PreferenceItemStyle = LocalPreferenceSettings.current.style.defaultItemStyle, itemSetup: PreferenceItemSetup = PreferenceMultiListDefaults.itemSetup(), titleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, subtitleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, filterTags: List<String> = emptyList(), dialog: @Composable (state: DialogState) -> Unit = { dialogState -> PreferenceMultiListDefaults.dialog(dialogState, value.value, { value.value = it }, items, itemTextProvider, itemIconProvider, title, icon) })

A list preference item - this item provides a list dialog to change this preference

 

Basic Parameters: all params not described here are derived from com.michaelflisar.composepreferences.core.composables.BasePreference, check it out for more details

Parameters

value

the MutableState of this item

items

the list of items that this preference can select from

itemTextProvider

a converter to get the text of an item

itemIconProvider

a converter to provide an icon for an item


fun <T> PreferenceScope.PreferenceListMulti(value: List<T>, onValueChange: (value: List<T>) -> Unit, items: List<T>, itemTextProvider: @Composable (item: T) -> String = { it.toString() }, itemIconProvider: @Composable (item: T) -> Unit? = null, formatter: @Composable (selected: List<T>) -> String = { selected -> selected.map { itemTextProvider(it) }.joinToString(";") }, title: String, enabled: Dependency = Dependency.Enabled, visible: Dependency = Dependency.Enabled, subtitle: String? = null, icon: @Composable () -> Unit? = null, itemStyle: PreferenceItemStyle = LocalPreferenceSettings.current.style.defaultItemStyle, itemSetup: PreferenceItemSetup = PreferenceMultiListDefaults.itemSetup(), titleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, subtitleRenderer: @Composable (text: AnnotatedString) -> Unit = { Text(it) }, filterTags: List<String> = emptyList(), dialog: @Composable (state: DialogState) -> Unit = { dialogState -> PreferenceMultiListDefaults.dialog(dialogState, value, onValueChange, items, itemTextProvider, itemIconProvider, title, icon) })

A list preference item - this item provides a list dialog to change this preference

 

Basic Parameters: all params not described here are derived from com.michaelflisar.composepreferences.core.composables.BasePreference, check it out for more details

Parameters

value

the value of this item

onValueChange

the value changed callback of this item

items

the list of items that this preference can select from

itemTextProvider

a converter to get the text of an item

itemIconProvider

a converter to provide an icon for an item