onFile method
Implementation
Future<bool> onFile(File file) async {
busy = true;
// save file reference
if ((scope?.files != null) && (file.url != null)) {
scope!.files[file.url!] = file;
}
// build the data
Data data = Data();
Map<dynamic, dynamic> map = <dynamic, dynamic>{};
map['file'] = file.url;
map['name'] = file.name;
map['type'] = file.mimeType;
map['extension'] = ".${file.name}".split('.').last;
map['size'] = file.size;
if (WidgetModel.isBound(this, "$id.data.text")) {
await file.read();
map['text'] = "";
if (file.bytes != null) {
try {
map["text"] = utf8.decode(file.bytes!);
} catch (e) {
map["text"] = "";
}
}
}
// add map
data.add(map);
// notify listeners
onSuccess(data);
return true;
}