refresh method
Future<void>
refresh(
{ - bool reloadMeta = false,
})
Implementation
Future<void> refresh({bool reloadMeta = false}) async {
final requestGeneration = ++_requestGeneration;
_loading = true;
_error = null;
notifyListeners();
try {
if (_meta == null || reloadMeta) {
_meta = await _client.loadMeta();
}
final results = await Future.wait<dynamic>(<Future<dynamic>>[
_client.loadRows(
search: _search,
status: _statusFilter.apiValue,
),
_client.loadSummary(),
]);
if (requestGeneration != _requestGeneration) {
return;
}
_rows = List<CatalogRow>.from(results[0] as List<CatalogRow>);
_summary = results[1] as CatalogSummary;
_sortRows();
_error = null;
} catch (error) {
if (requestGeneration != _requestGeneration) {
return;
}
_error = error.toString();
} finally {
if (requestGeneration == _requestGeneration) {
_loading = false;
notifyListeners();
}
}
}