micro_utils.dokka
0.15.1

# MultipleSelector

class MultipleSelector<T>(selectedItems: List<T> = emptyList(), safeChanges: Boolean = true) : Selector<T>

Realization of Selector with multiple selected elements. On calling of toggleSelection this realization will select passed element OR deselect it if it is already in selectedItems

#### Parameters

safeChanges

Set to false to disable using of mutex for synchronizing changes on toggleSelection

## Constructors

MultipleSelector
Link copied to clipboard
fun <T> MultipleSelector(selectedItems: List<T> = emptyList(), safeChanges: Boolean = true)

## Functions

clearSelection
Link copied to clipboard
open suspend override fun clearSelection()
forceDeselect
Link copied to clipboard
open suspend override fun forceDeselect(element: T)
forceSelect
Link copied to clipboard
open suspend override fun forceSelect(element: T)
toggleSelection
Link copied to clipboard
open suspend override fun toggleSelection(element: T)

## Properties

itemSelected
Link copied to clipboard
open override val itemSelected: SharedFlow<T>
itemUnselected
Link copied to clipboard
open override val itemUnselected: SharedFlow<T>
selectedItems
Link copied to clipboard
open override val selectedItems: List<T>

## Extensions

contains
Link copied to clipboard
inline operator fun <T> Selector<T>.contains(element: T): Boolean
forceDeselect
Link copied to clipboard
inline suspend fun <T> Selector<T>.forceDeselect(elements: List<T>)
inline suspend fun <T> Selector<T>.forceDeselect(firstElement: T, vararg elements: T)
forceSelect
Link copied to clipboard
inline suspend fun <T> Selector<T>.forceSelect(elements: List<T>)
inline suspend fun <T> Selector<T>.forceSelect(firstElement: T, vararg elements: T)
itemSelectionFlow
Link copied to clipboard
fun <T> Selector<T>.itemSelectionFlow(element: T, scope: CoroutineScope): SharedFlow<Boolean>
nothingSelected
Link copied to clipboard
inline fun <T> Selector<T>.nothingSelected(): Boolean
toggleSelection
Link copied to clipboard
inline suspend fun <T> Selector<T>.toggleSelection(elements: List<T>)
inline suspend fun <T> Selector<T>.toggleSelection(firstElement: T, vararg elements: T)