ZappPaginatorController

class ZappPaginatorController<ListModel, Filter : ZappPaginatorController.FilterModel, Page : PageModel<ListModel>>(scope: CoroutineScope, threshold: Int = 4, onPageReceived: (Page) -> Unit = {}, getData: suspend (page: Int, filter: ZappPaginatorController.FilterModel) -> Page)

Controlador para páginar listas de objetos

Parameters

ListModel

Modelo de la lista

Filter

Filtros necesarios para hacer la petición de la página

Page

Modelo que representa la página

Constructors

Link copied to clipboard
constructor(scope: CoroutineScope, threshold: Int = 4, onPageReceived: (Page) -> Unit = {}, getData: suspend (page: Int, filter: ZappPaginatorController.FilterModel) -> Page)

Types

Link copied to clipboard
open class FilterModel
Link copied to clipboard
data class PaginatorState<ListModel, Filter : ZappPaginatorController.FilterModel, Page : PageModel<ListModel>>(var loading: Boolean, val data: MutableList<ListModel> = mutableListOf(), val error: BaseException? = null, var endOfList: Boolean = false, var firstTime: Boolean = true, val page: Int = 1, val maxPages: Int = 0, val filter: Filter = FilterModel() as Filter) : ListState<ListModel>

Properties

Link copied to clipboard

Functions

Link copied to clipboard
fun checkScroll(scrollState: ScrollState)
Link copied to clipboard
fun reset(filter: Filter)
Link copied to clipboard
fun retry(): Job