call method

  1. @override
Object? call(
  1. Interpreter interpreter,
  2. List<Object?> arguments,
  3. Map<Symbol, Object?> namedArguments
)
override

Implementation

@override
Object? call(Interpreter interpreter, List<Object?> arguments,
    Map<Symbol, Object?> namedArguments) {
  if (arguments.isEmpty) {
    throw 'No arguments provided to pdf_uri()';
  }
  int initialPageNumber = 1;
  var initialPageNumberParse =
      namedArguments[const Symbol('initialPageNumber')];
  if (initialPageNumberParse != null) {
    initialPageNumber = initialPageNumberParse as int;
  }
  Map<String, String>? headers;
  var headersParse = namedArguments[const Symbol('headers')];
  if (headersParse != null) {
    headers = Map.from(headersParse as Map);
  }
  PdfViewerController? controller;
  var controllerParse = namedArguments[const Symbol('controller')];
  if (controllerParse != null) {
    controller = controllerParse as PdfViewerController;
  }
  double pageSpacing =
      parseDouble(namedArguments[const Symbol('pageSpacing')]) ?? 4.0;
  bool canShowPageLoadingIndicator = true;
  var canShowPageLoadingIndicatorParse =
      namedArguments[const Symbol('canShowPageLoadingIndicator')];
  if (canShowPageLoadingIndicatorParse != null) {
    canShowPageLoadingIndicator = canShowPageLoadingIndicatorParse as bool;
  }
  bool canShowScrollStatus = true;
  var canShowScrollStatusParse =
      namedArguments[const Symbol('canShowScrollStatus')];
  if (canShowScrollStatusParse != null) {
    canShowScrollStatus = canShowScrollStatusParse as bool;
  }
  bool enableDoubleTapZooming = true;
  var enableDoubleTapZoomingParse =
      namedArguments[const Symbol('enableDoubleTapZooming')];
  if (enableDoubleTapZoomingParse != null) {
    enableDoubleTapZooming = enableDoubleTapZoomingParse as bool;
  }
  bool enableTextSelection = true;
  var enableTextSelectionParse =
      namedArguments[const Symbol('enableTextSelection')];
  if (enableTextSelectionParse != null) {
    enableTextSelection = enableTextSelectionParse as bool;
  }
  double maxZoomLevel =
      parseDouble(namedArguments[const Symbol('maxScale')]) ?? 3;
  void Function(PdfDocumentLoadedDetails)? onDocumentLoaded;
  var onDocumentLoadedParse =
      namedArguments[const Symbol('onDocumentLoaded')];
  if (onDocumentLoadedParse != null) {
    onDocumentLoaded = (details) {
      (onDocumentLoadedParse as LoxFunction).call(interpreter, [details], {});
    };
  }
  void Function(PdfDocumentLoadFailedDetails)? onDocumentLoadFailed;
  var onDocumentLoadFailedParse =
      namedArguments[const Symbol('onDocumentLoadFailed')];
  if (onDocumentLoadFailedParse != null) {
    onDocumentLoadFailed = (details) {
      (onDocumentLoadFailedParse as LoxFunction)
          .call(interpreter, [PdfDocumentLoadFailedDetailsIns(details)], {});
    };
  }
  PdfScrollDirection? scrollDirection;
  var scrollDirectionParse = namedArguments[const Symbol('scrollDirection')];
  if (scrollDirectionParse != null) {
    scrollDirection = scrollDirectionParse as PdfScrollDirection;
  }
  return SfPdfViewer.network(
    arguments.first as String,
    initialPageNumber: initialPageNumber,
    headers: headers,
    canShowPageLoadingIndicator: canShowPageLoadingIndicator,
    canShowScrollStatus: canShowScrollStatus,
    enableDoubleTapZooming: enableDoubleTapZooming,
    enableTextSelection: enableTextSelection,
    pageSpacing: pageSpacing,
    controller: controller,
    maxZoomLevel: maxZoomLevel,
    scrollDirection: scrollDirection,
    onDocumentLoaded: onDocumentLoaded,
    onDocumentLoadFailed: onDocumentLoadFailed,
  );
}