handlePageRequest method

dynamic handlePageRequest(
  1. int pageKey
)

Implementation

handlePageRequest(int pageKey) async {
  filter.skip = pageKey;
  await Future.wait([
    repository.list(filter),
    repository.count(filter),
  ]).then((values) {
    final list = values[0] as List<T>;
    final count = values[1] as int;

    setState(() {
      total = count;

      if (pagingController.isLastPage(filter, list, count)) {
        pagingController.appendLastPage(list);
        return;
      }

      pagingController.appendPage(list, filter.skip + list.length);
    });
  }).catchError((error) {
    debugPrint('Có lỗi xảy ra');

    if (error is DioException) {
      if (error.response?.statusCode == 403) {
        setState(() {
          isForbidden = true;
        });
        return;
      }
    }

    pagingController.error(error);
  });
}