xOpenPDF static method

Future xOpenPDF(
  1. List<String?>? urls,
  2. BuildContext context,
  3. XFDataItem obj_Parent, {
  4. Future<Uint8List?> getBytesDoc_API()?,
  5. List<String?>? emailsCli,
  6. String? email_Body,
  7. String? email_Subject,
  8. String? email_Allegato_FileName,
  9. List<String>? liAddons_FilesPath,
  10. IconData? icon_SendEmail,
  11. String? pagePDF_title(
    1. 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)));
}