@@ -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 ) {
@@ -819,14 +820,14 @@ class PDFThumbnailViewer {
819820
820821 #pastePages( index ) {
821822 const pagesMapper = this . #pagesMapper;
822- let currentPageNumber = this . #copiedPageNumbers. includes (
823+ const currentPageNumber = this . #copiedPageNumbers. includes (
823824 this . _currentPageNumber
824825 )
825826 ? 0
826827 : this . _currentPageNumber ;
827828
828829 pagesMapper . pastePages ( index ) ;
829- currentPageNumber = this . #updateThumbnails( currentPageNumber ) ;
830+ this . #updateCurrentPage ( this . # updateThumbnails( currentPageNumber ) ) ;
830831
831832 this . eventBus . dispatch ( "pagesedited" , {
832833 source : this ,
@@ -840,8 +841,6 @@ class PDFThumbnailViewer {
840841 this . #togglePasteMode( false ) ;
841842 this . #toggleMenuEntries( false ) ;
842843 this . #updateStatus( "select" ) ;
843-
844- this . #updateCurrentPage( currentPageNumber ) ;
845844 }
846845
847846 #deletePages( type = "delete" ) {
@@ -853,15 +852,15 @@ class PDFThumbnailViewer {
853852 this . #updateStatus( "delete" ) ;
854853 }
855854 const pagesMapper = this . #pagesMapper;
856- let currentPageNumber = selectedPages . has ( this . _currentPageNumber )
855+ const currentPageNumber = selectedPages . has ( this . _currentPageNumber )
857856 ? 0
858857 : this . _currentPageNumber ;
859858 const pagesToDelete = ( this . #deletedPageNumbers = Uint32Array . from (
860859 selectedPages
861860 ) . sort ( ( a , b ) => a - b ) ) ;
862861
863862 pagesMapper . deletePages ( pagesToDelete ) ;
864- currentPageNumber = this . #updateThumbnails( currentPageNumber ) ;
863+ this . #updateCurrentPage ( this . # updateThumbnails( currentPageNumber ) ) ;
865864 selectedPages . clear ( ) ;
866865 this . #updateMenuEntries( ) ;
867866
@@ -871,8 +870,6 @@ class PDFThumbnailViewer {
871870 pageNumbers : pagesToDelete ,
872871 type,
873872 } ) ;
874-
875- this . #updateCurrentPage( currentPageNumber ) ;
876873 }
877874
878875 #updateMenuEntries( ) {
@@ -1225,7 +1222,7 @@ class PDFThumbnailViewer {
12251222 } = e ;
12261223 if (
12271224 e . button !== 0 || // Skip right click.
1228- this . #pagesMapper . copiedPageNumbers ?. length > 0 ||
1225+ this . #isInPasteMode ||
12291226 ! isNaN ( this . #lastDraggedOverIndex) ||
12301227 ! draggedImage . classList . contains ( "thumbnailImageContainer" )
12311228 ) {
0 commit comments