export method
Implementation
Future<bool> export(String? format, String? filename) async {
try {
var view = findListenerOfExactType(TableViewState);
if (view is TableViewState) {
if (isNullOrEmpty(filename)) filename = newId();
var name = Mime.toSafeFileName(filename!.split(".")[0]);
switch (format?.toLowerCase().trim()) {
case "raw":
var file = await Data.toCsv(Data.from(data));
var bytes = utf8.encode(file);
Platform.fileSaveAs(bytes, "$name.csv");
break;
case "csv":
var file = await view.exportToCSV();
var bytes = utf8.encode(file ?? "");
Platform.fileSaveAs(bytes, "$name.csv");
break;
case "pdf":
default:
var bytes = await view.exportToPDF();
if (bytes != null) Platform.fileSaveAs(bytes, "$name.pdf");
break;
}
}
} catch (e) {
Log().exception(e);
}
return true;
}