onDataSourceSuccess method
Called when the databroker returns a successful result
ChartModel overrides WidgetModel's onDataSourceSuccess to populate the series data from the datasource and to populate the label data from the datasource data.
Implementation
@override
Future<bool> onDataSourceSuccess(IDataSource source, Data? list) async {
try {
for (var series in series) {
if (series.datasource == source.id) {
series.dataPoint.clear();
if (list != null) {
for (var p in list) {
ChartDataPoint point = series.fromData(p);
if ((point.x != null) && (point.y != null)) {
series.dataPoint.add(point);
}
}
}
series.data = list;
}
}
for (var label in labels) {
if (label.datasource == null && list != null) {
label.dataLabel.clear();
label.dataLabel.add(label.fromData(data));
} else if (label.datasource == source.id) {
label.dataLabel.clear();
if (list != null) {
for (var l in list) {
label.dataLabel.add(label.fromData(l));
}
}
label.data = list;
}
}
notifyListeners('list', null);
} catch (e) {
Log().debug('Series onDataSourceSuccess() error');
// DialogService().show(type: DialogType.error, title: phrase.error, description: e.message);
}
return true;
}