reload method
Future<void>
reload(
{ - bool keepOffset = false,
- bool keepSelection = false,
})
override
Implementation
@override
Future<void> reload({bool keepOffset = false, bool keepSelection = false}) async {
final opId = const Uuid().v4();
_currentOperationId = opId;
super.reload(keepOffset: keepOffset);
loading = true;
final (list, count) = await fetcher(
currentPage,
pageSize,
);
if (_currentOperationId != opId) {
return;
}
_maxItems = count;
if (keepOffset && currentPageItems.isNotEmpty) {
final startOffset = _currentPage * _pageSize;
final updatedList = List.of(items)
..removeRange(startOffset, startOffset + currentPageItems.length)
..insertAll(startOffset, list);
_items = updatedList;
} else {
_items = [...items, ...list];
}
loading = false;
}