Collections Screen View Model

The CollectionsScreenViewModel class is the support class used by the com.tecknobit.refy.ui.screens.collections.presenter.CollectionsScreen

Author

N7ghtm4r3 - Tecknobit

See also

Retriever
EquinoxViewModel

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
val collectionsState: PaginationState<Int, LinksCollection>

collectionsState the state used to handle the pagination of the collections list

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

keywords the keywords used as filter

Link copied to clipboard
open override val requestsScope: CoroutineScope

requestsScope the CoroutineScope used to make the requests to the backend

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 fun attachLinks(collection: LinksCollection, links: List<RefyLink.RefyLinkImpl>, afterAttached: () -> Unit)

Method to request to attach links to the collection

Link copied to clipboard
open override fun canRetrieverStart(): Boolean
Link copied to clipboard
open override fun continueToRetrieve(currentContext: KClass<*>): Boolean
Link copied to clipboard
open fun deleteCollection(collection: LinksCollection, onDelete: () -> Unit)

Method to delete the collection

Link copied to clipboard
expect fun <T : AutoCloseable> getCloseable(key: String): T?
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 refreshAfterLinksAttached()

Method to refresh the data after the links have been attached

Link copied to clipboard
open override fun refreshAfterTeamsSharing()

Method to refresh the data after the collection has been shared with teams

Link copied to clipboard
open override fun reload()

Method used to reload the content related to data to retrieve that gone on error during the retrieving

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
open fun setActiveContext(currentContext: KClass<*>)
Link copied to clipboard
open fun shareWithTeams(collection: LinksCollection, teams: List<Team>, afterShared: () -> Unit)

Method to request to share the collection with teams

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)