ngAfterViewInit method

  1. @override
void ngAfterViewInit()

Implementation

@override
void ngAfterViewInit() {
  _disposeBrowserListeners();

  _keyDownSub = _hostElement.onKeyDown.listen(_handleKeyDown);
  _lastScrollTop = viewerContainer?.scrollTop ?? 0;
  _scrollSub =
      viewerContainer?.onScroll.listen((_) => _scheduleScrollUpdate());

  _resizeObserver = html.ResizeObserver((entries, observer) {
    _updateToolbarResponsiveState();
    if (viewerContainer?.clientWidth != null &&
        viewerContainer!.clientWidth > 0 &&
        <String>{'page-width', 'page-fit', 'auto'}
            .contains(_currentScaleValue)) {
      _setScale(_currentScaleValue);
    }
  });
  if (toolbarContainer != null) {
    _resizeObserver!.observe(toolbarContainer!);
  }
  if (viewerContainer != null) {
    _resizeObserver!.observe(viewerContainer!);
  }
  _updateToolbarResponsiveState();

  _wheelSub = viewerContainer?.onWheel.listen((event) {
    final container = viewerContainer;
    if (container == null) {
      return;
    }
    if (!event.ctrlKey) {
      return;
    }
    event.preventDefault();
    final delta = event.deltaY < 0 ? 1.1 : 1 / 1.1;
    final next =
        (_scale * delta).clamp(liPdfViewerMinScale, liPdfViewerMaxScale);
    _scheduleZoom(next, Point<num>(event.client.x, event.client.y));
  });

  _pointerDownSub = viewerContainer?.on['pointerdown']
      .cast<html.PointerEvent>()
      .listen(_handlePointerDown);
  _pointerMoveSub = viewerContainer?.on['pointermove']
      .cast<html.PointerEvent>()
      .listen(_handlePointerMove);
  _pointerUpSub = viewerContainer?.on['pointerup']
      .cast<html.PointerEvent>()
      .listen(_handlePointerEnd);
  _pointerCancelSub = viewerContainer?.on['pointercancel']
      .cast<html.PointerEvent>()
      .listen(_handlePointerEnd);
  _touchStartSub = viewerContainer?.onTouchStart.listen(_handleTouchStart);
  _touchMoveSub = viewerContainer?.onTouchMove.listen(_handleTouchMove);
  _touchEndSub = viewerContainer?.onTouchEnd.listen(_handleTouchEnd);
  _touchCancelSub = viewerContainer?.onTouchCancel.listen(_handleTouchEnd);
  _fullscreenChangeSub = html.document.on['fullscreenchange']
      .cast<html.Event>()
      .listen((_) => _syncFullscreenState());
  _webkitFullscreenChangeSub = html.document.on['webkitfullscreenchange']
      .cast<html.Event>()
      .listen((_) => _syncFullscreenState());
  _windowResizeSub = html.window.onResize.listen((_) {
    _syncSidePanelPresentationState();
    _changeDetectorRef.markForCheck();
  });

  _syncSidePanelPresentationState();

  if (_pendingPdfLoad && _pdfSource != null) {
    _pendingPdfLoad = false;
    scheduleMicrotask(_loadPdf);
  }
}