Item Screen View Model

The ItemScreenViewModel class is the support class used by the screens which have to display the details of a RefyItem or manage it

Author

N7ghtm4r3 - Tecknobit

Parameters

itemId

The identifier of the item

name

The name of the item

I

The type of the item displayed

See also

Retriever
EquinoxViewModel

Inheritors

Constructors

Link copied to clipboard
constructor(itemId: String, name: String)

Properties

Link copied to clipboard
val item: StateFlow<I?>
Link copied to clipboard
val itemName: StateFlow<String>
Link copied to clipboard
lateinit var keywords: MutableState<String>

keywords the keywords used as filter

Link copied to clipboard
open override val linksState: PaginationState<Int, RefyLink.RefyLinkImpl>

linksState the state used to handle the pagination of the links list

Link copied to clipboard
open lateinit override var sessionFlowState: SessionFlowState

sessionFlowState the state used to manage the session lifecycle in the screen

Link copied to clipboard

Functions

Link copied to clipboard
expect open fun addCloseable(closeable: AutoCloseable)
expect fun addCloseable(key: String, closeable: AutoCloseable)
Link copied to clipboard
open override fun canRetrieverStart(): Boolean
Link copied to clipboard
open override fun continueToRetrieve(currentContext: KClass<*>): Boolean
Link copied to clipboard
expect fun <T : AutoCloseable> getCloseable(key: String): T?
Link copied to clipboard
abstract fun loadLinks(page: Int)

Method used to load and retrieve the links to append to the linksState

Link copied to clipboard
Link copied to clipboard
open override fun performOnServerOffline()

Routine to perform when the server is currently offline

Link copied to clipboard
open override fun refresh()

Method used to refresh the data displayed by the screen

Link copied to clipboard
open override fun reload()

Method used to reload the content related to the _item when an error occurred during its retrieving

Link copied to clipboard
abstract fun removeLink(link: RefyLink.RefyLinkImpl)

Method to remove a link contained by the _item

Link copied to clipboard
open override fun restartRetriever()
Link copied to clipboard
open fun restartRetrieverIf(condition: Boolean)
Link copied to clipboard
open override fun retrieve(currentContext: KClass<*>, routine: suspend () -> Unit, repeatRoutine: Boolean, refreshDelay: Long)
Link copied to clipboard
abstract fun retrieveItem()

Method to retrieve the information of the item to display

Link copied to clipboard
open fun setActiveContext(currentContext: KClass<*>)
Link copied to clipboard
fun showSnackbarMessage(message: String, actionLabel: String?, onDismiss: () -> Unit?, onActionPerformed: () -> Unit?, withDismissAction: Boolean, duration: SnackbarDuration)
fun showSnackbarMessage(response: JsonObject, actionLabel: String?, onDismiss: () -> Unit?, onActionPerformed: () -> Unit?, withDismissAction: Boolean, duration: SnackbarDuration)
fun showSnackbarMessage(message: StringResource, actionLabel: StringResource?, onDismiss: () -> Unit?, onActionPerformed: () -> Unit?, withDismissAction: Boolean, duration: SnackbarDuration)
Link copied to clipboard
open override fun suspendRetriever()
Link copied to clipboard
open fun suspendRetrieverIf(condition: Boolean)