loadData method
Future<void>
loadData({
- required Future<
ModChartData> fetchData(- String period
- required String period,
- dynamic onPeriodChange()?,
- dynamic onDataLoaded()?,
- dynamic onError()?,
Implementation
Future<void> loadData({
required Future<ModChartData> Function(String period) fetchData,
required String period,
Function(String)? onPeriodChange,
Function(String, List<ModChartDataItem>)? onDataLoaded,
Function(String)? onError,
}) async {
try {
isLoading.value = true;
hasError.value = false;
errorMessage.value = '';
selectedPeriod.value = period;
onPeriodChange?.call(period);
final data = await fetchData(period);
chartData.value = data;
onDataLoaded?.call(period, data.data);
} catch (e) {
hasError.value = true;
errorMessage.value = e.toString();
onError?.call(e.toString());
} finally {
isLoading.value = false;
}
}