@@ -159,6 +159,8 @@ class PDFThumbnailViewer {
159159
160160 #undoCloseButton = null ;
161161
162+ #isInPasteMode = false ;
163+
162164 /**
163165 * @param {PDFThumbnailViewerOptions } options
164166 */
@@ -525,6 +527,7 @@ class PDFThumbnailViewer {
525527 }
526528
527529 #updateThumbnails( currentPageNumber ) {
530+ this . #resetCurrentThumbnail( 0 ) ;
528531 let newCurrentPageNumber = 0 ;
529532 const pagesMapper = this . #pagesMapper;
530533 const prevThumbnails = ( this . #savedThumbnails = this . _thumbnails ) ;
@@ -658,13 +661,13 @@ class PDFThumbnailViewer {
658661 const newIndex = lastDraggedOverIndex + 1 ;
659662 const pagesToMove = Array . from ( selectedPages ) . sort ( ( a , b ) => a - b ) ;
660663 const pagesMapper = this . #pagesMapper;
661- let currentPageNumber = isNaN ( this . #pageNumberToRemove)
664+ const currentPageNumber = isNaN ( this . #pageNumberToRemove)
662665 ? pagesToMove [ 0 ]
663666 : this . #pageNumberToRemove;
664667
665668 pagesMapper . movePages ( selectedPages , pagesToMove , newIndex ) ;
666669
667- currentPageNumber = this . #updateThumbnails( currentPageNumber ) ;
670+ this . #updateCurrentPage ( this . # updateThumbnails( currentPageNumber ) ) ;
668671 this . #computeThumbnailsPosition( ) ;
669672
670673 selectedPages . clear ( ) ;
@@ -676,8 +679,6 @@ class PDFThumbnailViewer {
676679 pagesMapper,
677680 type : "move" ,
678681 } ) ;
679-
680- this . #updateCurrentPage( currentPageNumber ) ;
681682 }
682683
683684 if ( ! isNaN ( this . #pageNumberToRemove) ) {
@@ -695,7 +696,6 @@ class PDFThumbnailViewer {
695696
696697 #updateCurrentPage( currentPageNumber ) {
697698 setTimeout ( ( ) => {
698- this . #resetCurrentThumbnail( 0 ) ;
699699 this . forceRendering ( ) ;
700700 const newPageNumber = currentPageNumber || 1 ;
701701 this . linkService . goToPage ( newPageNumber ) ;
@@ -765,6 +765,7 @@ class PDFThumbnailViewer {
765765 }
766766
767767 #togglePasteMode( enable ) {
768+ this . #isInPasteMode = enable ;
768769 if ( enable ) {
769770 this . container . classList . add ( "pasteMode" ) ;
770771 for ( const thumbnail of this . _thumbnails ) {
@@ -822,14 +823,14 @@ class PDFThumbnailViewer {
822823 this . #toggleMenuEntries( true ) ;
823824
824825 const pagesMapper = this . #pagesMapper;
825- let currentPageNumber = this . #copiedPageNumbers. includes (
826+ const currentPageNumber = this . #copiedPageNumbers. includes (
826827 this . _currentPageNumber
827828 )
828829 ? 0
829830 : this . _currentPageNumber ;
830831
831832 pagesMapper . pastePages ( index ) ;
832- currentPageNumber = this . #updateThumbnails( currentPageNumber ) ;
833+ this . #updateCurrentPage ( this . # updateThumbnails( currentPageNumber ) ) ;
833834
834835 this . eventBus . dispatch ( "pagesedited" , {
835836 source : this ,
@@ -842,8 +843,6 @@ class PDFThumbnailViewer {
842843 this . #isCut = false ;
843844 this . #updateMenuEntries( ) ;
844845 this . #updateStatus( "select" ) ;
845-
846- this . #updateCurrentPage( currentPageNumber ) ;
847846 }
848847
849848 #deletePages( type = "delete" ) {
@@ -855,15 +854,15 @@ class PDFThumbnailViewer {
855854 this . #updateStatus( "delete" ) ;
856855 }
857856 const pagesMapper = this . #pagesMapper;
858- let currentPageNumber = selectedPages . has ( this . _currentPageNumber )
857+ const currentPageNumber = selectedPages . has ( this . _currentPageNumber )
859858 ? 0
860859 : this . _currentPageNumber ;
861860 const pagesToDelete = ( this . #deletedPageNumbers = Uint32Array . from (
862861 selectedPages
863862 ) . sort ( ( a , b ) => a - b ) ) ;
864863
865864 pagesMapper . deletePages ( pagesToDelete ) ;
866- currentPageNumber = this . #updateThumbnails( currentPageNumber ) ;
865+ this . #updateCurrentPage ( this . # updateThumbnails( currentPageNumber ) ) ;
867866 selectedPages . clear ( ) ;
868867 this . #updateMenuEntries( ) ;
869868
@@ -873,8 +872,6 @@ class PDFThumbnailViewer {
873872 pageNumbers : pagesToDelete ,
874873 type,
875874 } ) ;
876-
877- this . #updateCurrentPage( currentPageNumber ) ;
878875 }
879876
880877 #updateMenuEntries( ) {
@@ -1224,7 +1221,7 @@ class PDFThumbnailViewer {
12241221 } = e ;
12251222 if (
12261223 e . button !== 0 || // Skip right click.
1227- this . #pagesMapper . copiedPageNumbers ?. length > 0 ||
1224+ this . #isInPasteMode ||
12281225 ! isNaN ( this . #lastDraggedOverIndex) ||
12291226 ! draggedImage . classList . contains ( "thumbnailImageContainer" )
12301227 ) {
0 commit comments