micro_utils.dokka
0.15.1

# Package-level declarations

## Types

MultipleSelector
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

Selector
Link copied to clipboard
interface Selector<T>

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

SingleSelector
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

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
Selector
Link copied to clipboard
inline fun <T> Selector(multiple: Boolean, safeChanges: Boolean = true): Selector<T>
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)