xOpenPDF static method
Future
xOpenPDF(
- List<
String?> ? urls, - BuildContext context,
- XFDataItem obj_Parent, {
- Future<
Uint8List?> getBytesDoc_API()?, - List<
String?> ? emailsCli, - String? email_Body,
- String? email_Subject,
- String? email_Allegato_FileName,
- List<
String> ? liAddons_FilesPath, - IconData? icon_SendEmail,
- String? pagePDF_title(
- String link
Implementation
static Future xOpenPDF(
List<String?>? urls,
BuildContext context,
XFDataItem obj_Parent, {
Future<Uint8List?> Function()? getBytesDoc_API,
List<String?>? emailsCli,
String? email_Body,
String? email_Subject,
String? email_Allegato_FileName,
List<String>? liAddons_FilesPath,
IconData? icon_SendEmail,
String? Function(String link)? pagePDF_title,
}) async {
List<XpdfScreenItem> liWidgetsPDF = List<XpdfScreenItem>.empty(growable: true);
if (urls!.isEmpty) return;
for (var x in urls) {
var r = PDF(enableSwipe: true).fromUrl(x!);
liWidgetsPDF.add(XpdfScreenItem(title: pagePDF_title != null ? (pagePDF_title(x) ?? "") : "Preventivo", widgetToView: r));
}
// var bytesDoc;
// if (getBytesDoc_API != null) {
// bytesDoc = await getBytesDoc_API();
// }
await Navigator.push<void>(
context,
MaterialPageRoute<void>(
builder: (BuildContext context) => XPDFScreen<XFDataItem>(
liWidgetPDF: liWidgetsPDF,
urlPDF: urls.first!,
itemInEdit: obj_Parent,
sendEmailBTN_visible: emailsCli != null ? true : false,
btnChangePDF_Visible: false,
allegato_FileName: email_Allegato_FileName,
icon_SendEmail: icon_SendEmail,
email: emailsCli != null
? (XFDataItem item, liFiles) {
var liFilesUI = liFiles.map((e) => e.path).toList();
liAddons_FilesPath != null ? liFilesUI.addAll(liAddons_FilesPath) : null;
return Email(
body: email_Body ?? 'Buongiorno',
subject: email_Subject ?? 'Preventivo rif.',
recipients: emailsCli.map((e) => e ?? "").toList(),
attachmentPaths: liFilesUI,
isHTML: false,
);
}
: null)));
}