Package dev.inmo.micro_utils.selector

Types

MultipleSelector
Link copied to clipboard
class MultipleSelector<T>(selectedItems: List<T>, safeChanges: Boolean) : 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

common
class MultipleSelector<T>(selectedItems: List<T>, safeChanges: Boolean) : 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

class MultipleSelector<T>(selectedItems: List<T>, safeChanges: Boolean) : 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>
interface Selector<T>
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?, safeChanges: Boolean) : 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.

common
class SingleSelector<T>(selectedItem: T?, safeChanges: Boolean) : 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.

class SingleSelector<T>(selectedItem: T?, safeChanges: Boolean) : 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
inline operator fun <T> Selector<T>.contains(element: T): Boolean
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)
inline suspend fun <T> Selector<T>.forceDeselect(elements: List<T>)
inline suspend fun <T> Selector<T>.forceDeselect(firstElement: T, vararg elements: T)
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)
inline suspend fun <T> Selector<T>.forceSelect(elements: List<T>)
inline suspend fun <T> Selector<T>.forceSelect(firstElement: T, vararg elements: T)
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>
fun <T> Selector<T>.itemSelectionFlow(element: T, scope: CoroutineScope): SharedFlow<Boolean>
fun <T> Selector<T>.itemSelectionFlow(element: T, scope: CoroutineScope): SharedFlow<Boolean>
nothingSelected
Link copied to clipboard
inline fun <T> Selector<T>.nothingSelected(): Boolean
inline fun <T> Selector<T>.nothingSelected(): Boolean
inline fun <T> Selector<T>.nothingSelected(): Boolean
Selector
Link copied to clipboard
inline fun <T> Selector(multiple: Boolean, safeChanges: Boolean = true): Selector<T>
inline fun <T> Selector(multiple: Boolean, safeChanges: Boolean = true): Selector<T>
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)
inline suspend fun <T> Selector<T>.toggleSelection(elements: List<T>)
inline suspend fun <T> Selector<T>.toggleSelection(firstElement: T, vararg elements: T)
inline suspend fun <T> Selector<T>.toggleSelection(elements: List<T>)
inline suspend fun <T> Selector<T>.toggleSelection(firstElement: T, vararg elements: T)