fetchFirstPage method

Future<void> fetchFirstPage({
  1. required Future<List<T>> fetchApi(),
  2. bool isLastPage = false,
  3. bool checkDataIsSelected(
    1. T
    )?,
})

This function is for fetch data for first page

This function will reset state page to initial state

Implementation

Future<void> fetchFirstPage({
  /// This function is for passing data from response fetch data to list
  required Future<List<T>> Function() fetchApi,

  /// If this enabled, indicator 'hasNextPage' will set false
  bool isLastPage = false,

  /// This function for check if data already selected before
  bool Function(T)? checkDataIsSelected,
}) async {
  reset();
  _setInLoading();
  try {
    final list = await fetchApi();
    if (isLastPage) {
      addItemListForLastPage(list, checkDataIsSelected: checkDataIsSelected);
      return;
    }
    addItemList(list, checkDataIsSelected: checkDataIsSelected);
    return;
  } catch (e) {
    errorText = e.toString();
    isLoading = false;
    if (!_disposed) {
      notifyListeners();
      refreshStateParentWidget();
    }
  }
}