Package-level declarations

Types

Link copied to clipboard
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

Link copied to clipboard
interface Selector<T>

Unified interface which can be used in any system which require some selection functionality

Link copied to clipboard
class SingleSelector<T>(selectedItem: T? = null, safeChanges: Boolean = true) : Selector<T>

Realization of Selector with one or without selected element. This realization will always have empty selectedItems when nothing selected and one element in selectedItems when something selected. Contains selectedItem value for simple access to currently selected item.

Functions

Link copied to clipboard
inline operator fun <T> Selector<T>.contains(element: T): Boolean
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)
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)
Link copied to clipboard
fun <T> Selector<T>.itemSelectionFlow(element: T, scope: CoroutineScope): SharedFlow<Boolean>
Link copied to clipboard
Link copied to clipboard
inline fun <T> Selector(multiple: Boolean, safeChanges: Boolean = true): Selector<T>
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)