SingleSelector

class SingleSelector<T>(selectedItem: T? = null, safeChanges: Boolean = true) : Selector<T> (source)

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.

On calling of toggleSelection previous selection will be erased and itemUnselected will emit this element.

Parameters

safeChanges

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

Constructors

Link copied to clipboard
constructor(selectedItem: T? = null, safeChanges: Boolean = true)

Properties

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

Functions

Link copied to clipboard
open suspend override fun clearSelection()
Link copied to clipboard
inline operator fun <T> Selector<T>.contains(element: T): Boolean
Link copied to clipboard
open suspend override fun forceDeselect(element: T)
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
open suspend override fun forceSelect(element: 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
open suspend override fun toggleSelection(element: 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)