paginate method
Implementation
@override
Future<Map<String, dynamic>> paginate({
int perPage = 15,
List<String> columns = const ['*'],
String? pageName,
int? page,
}) async {
int currentPage = page ?? 1;
int total = await count();
final lastPage = (total / perPage).ceil();
final offset = (currentPage - 1) * perPage;
super.take(perPage).skip(offset);
final pageData = await get();
final isFirst = currentPage == 1;
final isLast = currentPage == lastPage;
final hasMore = currentPage < lastPage;
return PaginatedResult(
data: pageData,
currentPage: currentPage,
perPage: perPage,
total: total,
lastPage: lastPage,
isFirst: isFirst,
isLast: isLast,
hasMore: hasMore)
.toMap();
}