saveJsonExport function
Save JSON data as a browser download. Web implementation: creates a Blob and triggers download via anchor click.
Implementation
Future<String> saveJsonExport(Map<String, dynamic> data) async {
final jsonStr = jsonEncode(data);
final dateStr = DateTime.now().toIso8601String().substring(0, 10);
final filename = 'dutato-export-$dateStr.json';
final blob = web.Blob(
[jsonStr.toJS].toJS,
web.BlobPropertyBag(type: 'application/json'),
);
final url = web.URL.createObjectURL(blob);
final anchor = web.document.createElement('a') as web.HTMLAnchorElement
..href = url
..download = filename;
anchor.click();
web.URL.revokeObjectURL(url);
return filename;
}