@@ -447,7 +447,7 @@ const PDFViewerApplication = {
447
447
* @private
448
448
*/
449
449
async _initializeViewerComponents ( ) {
450
- const { appConfig, externalServices } = this ;
450
+ const { appConfig, externalServices, l10n } = this ;
451
451
452
452
const eventBus = externalServices . isInAutomation
453
453
? new AutomationEventBus ( )
@@ -504,7 +504,7 @@ const PDFViewerApplication = {
504
504
}
505
505
: null ;
506
506
507
- this . pdfViewer = new PDFViewer ( {
507
+ const pdfViewer = new PDFViewer ( {
508
508
container,
509
509
viewer,
510
510
eventBus,
@@ -514,7 +514,7 @@ const PDFViewerApplication = {
514
514
findController,
515
515
scriptingManager :
516
516
AppOptions . get ( "enableScripting" ) && pdfScriptingManager ,
517
- l10n : this . l10n ,
517
+ l10n,
518
518
textLayerMode : AppOptions . get ( "textLayerMode" ) ,
519
519
annotationMode : AppOptions . get ( "annotationMode" ) ,
520
520
annotationEditorMode,
@@ -526,17 +526,19 @@ const PDFViewerApplication = {
526
526
enablePermissions : AppOptions . get ( "enablePermissions" ) ,
527
527
pageColors,
528
528
} ) ;
529
- pdfRenderingQueue . setViewer ( this . pdfViewer ) ;
530
- pdfLinkService . setViewer ( this . pdfViewer ) ;
531
- pdfScriptingManager . setViewer ( this . pdfViewer ) ;
529
+ this . pdfViewer = pdfViewer ;
530
+
531
+ pdfRenderingQueue . setViewer ( pdfViewer ) ;
532
+ pdfLinkService . setViewer ( pdfViewer ) ;
533
+ pdfScriptingManager . setViewer ( pdfViewer ) ;
532
534
533
535
if ( appConfig . sidebar ?. thumbnailView ) {
534
536
this . pdfThumbnailViewer = new PDFThumbnailViewer ( {
535
537
container : appConfig . sidebar . thumbnailView ,
536
538
eventBus,
537
539
renderingQueue : pdfRenderingQueue ,
538
540
linkService : pdfLinkService ,
539
- l10n : this . l10n ,
541
+ l10n,
540
542
pageColors,
541
543
} ) ;
542
544
pdfRenderingQueue . setThumbnailViewer ( this . pdfThumbnailViewer ) ;
@@ -553,7 +555,7 @@ const PDFViewerApplication = {
553
555
}
554
556
555
557
if ( ! this . supportsIntegratedFind && appConfig . findBar ) {
556
- this . findBar = new PDFFindBar ( appConfig . findBar , eventBus , this . l10n ) ;
558
+ this . findBar = new PDFFindBar ( appConfig . findBar , eventBus , l10n ) ;
557
559
}
558
560
559
561
if ( appConfig . annotationEditorParams ) {
@@ -574,10 +576,8 @@ const PDFViewerApplication = {
574
576
appConfig . documentProperties ,
575
577
this . overlayManager ,
576
578
eventBus ,
577
- this . l10n ,
578
- /* fileNameLookup = */ ( ) => {
579
- return this . _docFilename ;
580
- }
579
+ l10n ,
580
+ /* fileNameLookup = */ ( ) => this . _docFilename
581
581
) ;
582
582
}
583
583
@@ -601,21 +601,21 @@ const PDFViewerApplication = {
601
601
this . toolbar = new Toolbar (
602
602
appConfig . toolbar ,
603
603
eventBus ,
604
- this . l10n ,
604
+ l10n ,
605
605
await this . _nimbusDataPromise ,
606
- this . externalServices
606
+ externalServices
607
607
) ;
608
608
}
609
609
} else {
610
- this . toolbar = new Toolbar ( appConfig . toolbar , eventBus , this . l10n ) ;
610
+ this . toolbar = new Toolbar ( appConfig . toolbar , eventBus , l10n ) ;
611
611
}
612
612
}
613
613
614
614
if ( appConfig . secondaryToolbar ) {
615
615
this . secondaryToolbar = new SecondaryToolbar (
616
616
appConfig . secondaryToolbar ,
617
617
eventBus ,
618
- this . externalServices
618
+ externalServices
619
619
) ;
620
620
}
621
621
@@ -625,7 +625,7 @@ const PDFViewerApplication = {
625
625
) {
626
626
this . pdfPresentationMode = new PDFPresentationMode ( {
627
627
container,
628
- pdfViewer : this . pdfViewer ,
628
+ pdfViewer,
629
629
eventBus,
630
630
} ) ;
631
631
}
@@ -634,7 +634,7 @@ const PDFViewerApplication = {
634
634
this . passwordPrompt = new PasswordPrompt (
635
635
appConfig . passwordOverlay ,
636
636
this . overlayManager ,
637
- this . l10n ,
637
+ l10n ,
638
638
this . isViewerEmbedded
639
639
) ;
640
640
}
@@ -660,19 +660,30 @@ const PDFViewerApplication = {
660
660
this . pdfLayerViewer = new PDFLayerViewer ( {
661
661
container : appConfig . sidebar . layersView ,
662
662
eventBus,
663
- l10n : this . l10n ,
663
+ l10n,
664
664
} ) ;
665
665
}
666
666
667
667
if ( appConfig . sidebar ) {
668
668
this . pdfSidebar = new PDFSidebar ( {
669
669
elements : appConfig . sidebar ,
670
- pdfViewer : this . pdfViewer ,
671
- pdfThumbnailViewer : this . pdfThumbnailViewer ,
672
670
eventBus,
673
- l10n : this . l10n ,
671
+ l10n,
674
672
} ) ;
675
673
this . pdfSidebar . onToggled = this . forceRendering . bind ( this ) ;
674
+ this . pdfSidebar . onUpdateThumbnails = ( ) => {
675
+ // Use the rendered pages to set the corresponding thumbnail images.
676
+ for ( const pageView of pdfViewer . getCachedPageViews ( ) ) {
677
+ if ( pageView . renderingState === RenderingStates . FINISHED ) {
678
+ this . pdfThumbnailViewer
679
+ . getThumbnail ( pageView . id - 1 )
680
+ ?. setImage ( pageView ) ;
681
+ }
682
+ }
683
+ this . pdfThumbnailViewer . scrollThumbnailIntoView (
684
+ pdfViewer . currentPageNumber
685
+ ) ;
686
+ } ;
676
687
}
677
688
} ,
678
689
0 commit comments