export method

dynamic export({
  1. String format = "html",
  2. bool withHistory = false,
})

Implementation

export({String format = "html", bool withHistory = false}) async {
  var logs =
      (withHistory) ? await hive_log.Log.query(orderby: "epoch") : queue;
  var filename = "log-${toChar(DateTime.now(), format: 'yyyy-MM-dd HHmmss')}";

  // export to html
  if (format.trim().toLowerCase() != "excel") {
    String str = toHtml(logs);
    List<int> bytes = utf8.encode(str);
    Platform.fileSaveAs(bytes, "$filename.html");
  }

  // export to csv
  else {
    Data data = hive_log.Log.toData(logs);
    String csv = await Data.toCsv(data);
    List<int> bytes = utf8.encode(csv);
    Platform.fileSaveAs(bytes, "$filename.csv");
  }

  return true;
}