onData method
Implementation
Future<bool> onData(Data data,
{int? code, String? message, Observable? onSuccessOverride}) async {
bool ok = true;
// set status
status = "success";
// set status code
statuscode = code;
// set status message
statusmessage = message ?? 'Ok';
// Set the source value
this.data = data;
// set rowcount
rowcount = this.data?.length ?? 0;
// notify listeners
notify();
// fire on success event
if (onSuccessOverride != null || !isNullOrEmpty(onsuccess)) {
EventHandler handler = EventHandler(this);
await handler.execute(onSuccessOverride ?? _onsuccess);
}
// notify nested data sources
if (datasources != null) {
for (IDataSource model in datasources!) {
if (model is DataModel) {
// clone the data
model.onSuccess(data.clone(), code: code, message: message);
}
}
}
// requery?
if (((autoquery ?? 0) > 0) && (timer == null) && (!disposed)) {
timer = Timer.periodic(Duration(seconds: autoquery!), onTimer);
}
// busy
busy = false;
return ok;
}