mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2024-12-21 08:07:16 +00:00
update paginations
This commit is contained in:
parent
14ffafb0a7
commit
b4abd564ec
@ -2,6 +2,10 @@
|
||||
|
||||
## 0.4.30
|
||||
|
||||
* `Pagination`:
|
||||
* New variable `defaultPaginationPageSize` has been added to be able to change default pagination size
|
||||
* Add new value `firstPageWithOneElementPagination`
|
||||
|
||||
## 0.4.29
|
||||
|
||||
* `Versions`:
|
||||
|
@ -7,14 +7,17 @@ const val defaultMediumPageSize = 5
|
||||
const val defaultLargePageSize = 10
|
||||
const val defaultExtraLargePageSize = 15
|
||||
|
||||
var defaultPaginationPageSize = defaultMediumPageSize
|
||||
|
||||
@Suppress("NOTHING_TO_INLINE", "FunctionName")
|
||||
inline fun FirstPagePagination(size: Int = defaultMediumPageSize) =
|
||||
inline fun FirstPagePagination(size: Int = defaultPaginationPageSize) =
|
||||
SimplePagination(
|
||||
page = 0,
|
||||
size = size
|
||||
)
|
||||
|
||||
val emptyPagination = Pagination(0, 0)
|
||||
val firstPageWithOneElementPagination = FirstPagePagination(1)
|
||||
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun Pagination.nextPage() =
|
||||
|
@ -36,6 +36,6 @@ class PaginatedIterable<T>(
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun <T> makeIterable(
|
||||
noinline countGetter: () -> Long,
|
||||
pageSize: Int = defaultMediumPageSize,
|
||||
pageSize: Int = defaultPaginationPageSize,
|
||||
noinline paginationResultGetter: Pagination.() -> PaginationResult<T>
|
||||
): Iterable<T> = PaginatedIterable(pageSize, countGetter, paginationResultGetter)
|
||||
|
@ -18,6 +18,6 @@ val Pagination.asUrlQueryArrayParts
|
||||
val Map<String, String?>.extractPagination: Pagination
|
||||
get() = SimplePagination(
|
||||
get(paginationPageKey) ?.toIntOrNull() ?: 0,
|
||||
get(paginationSizeKey) ?.toIntOrNull() ?: defaultMediumPageSize
|
||||
get(paginationSizeKey) ?.toIntOrNull() ?: defaultPaginationPageSize
|
||||
)
|
||||
|
||||
|
@ -6,7 +6,7 @@ import io.ktor.http.Parameters
|
||||
val Parameters.extractPagination: Pagination
|
||||
get() = SimplePagination(
|
||||
get("page") ?.toIntOrNull() ?: 0,
|
||||
get("size") ?.toIntOrNull() ?: defaultMediumPageSize
|
||||
get("size") ?.toIntOrNull() ?: defaultPaginationPageSize
|
||||
)
|
||||
|
||||
val ApplicationCall.extractPagination: Pagination
|
||||
|
Loading…
Reference in New Issue
Block a user