Create Item View Model

abstract class CreateItemViewModel<T : RefyItem>(snackbarHostState: SnackbarHostState) : EquinoxViewModel

The CreateItemViewModel class is the support class used by the inherited view models to communicate with the backend for the creation or the editing of a RefyItem

Author

N7ghtm4r3 - Tecknobit

Parameters

snackbarHostState

: the host to launch the snackbar messages

T

: the type of the RefyItem

See also

ViewModel
FetcherManager.FetcherManagerWrapper
EquinoxViewModel

Inheritors

Constructors

Link copied to clipboard
constructor(snackbarHostState: SnackbarHostState)

Properties

Link copied to clipboard
val itemDedicatedList: SnapshotStateList<String>

itemDedicatedList -> a dedicated list of the item, useful to manage for example links, collections or members list attached to the item

Link copied to clipboard
lateinit var itemDescription: MutableState<String>

itemDescription -> the description of the item

Link copied to clipboard
lateinit var itemDescriptionError: MutableState<Boolean>

itemDescriptionError -> whether the itemDescription field is not valid

Link copied to clipboard
lateinit var itemName: MutableState<String>

itemName -> the name of the item

Functions

Link copied to clipboard
open fun addCloseable(closeable: AutoCloseable)
fun addCloseable(key: String, closeable: AutoCloseable)
Link copied to clipboard
open override fun canRefresherStart(): Boolean
Link copied to clipboard
open override fun continueToFetch(currentContext: Class<*>): Boolean
Link copied to clipboard
open override fun execRefreshingRoutine(currentContext: Class<*>, routine: () -> Unit, repeatRoutine: Boolean, refreshDelay: Long)
Link copied to clipboard
Link copied to clipboard
abstract fun initExistingItem(item: T?)

Function to initializing the existingItem if exists, null otherwise

Link copied to clipboard
fun manageItem(onSuccess: () -> Unit)

Wrapper function to execute the request to create or edit an item

Link copied to clipboard
open override fun restartRefresher()
Link copied to clipboard
open fun setActiveContext(currentContext: Class<*>)
Link copied to clipboard
open override fun suspendRefresher()
Link copied to clipboard
fun SuspendUntilElementOnScreen(elementVisible: MutableState<Boolean>)