@@ -694,6 +694,7 @@ var PDFView = {
694
694
mouseScrollTimeStamp : 0 ,
695
695
mouseScrollDelta : 0 ,
696
696
lastScroll : 0 ,
697
+ previousPageNumber : 1 ,
697
698
698
699
// called once when the document is loaded
699
700
initialize : function pdfViewInitialize () {
@@ -816,12 +817,14 @@ var PDFView = {
816
817
event .initUIEvent ('pagechange' , false , false , window , 0 );
817
818
818
819
if (!(0 < val && val <= pages .length )) {
820
+ this .previousPageNumber = val ;
819
821
event .pageNumber = this .page ;
820
822
window .dispatchEvent (event );
821
823
return ;
822
824
}
823
825
824
826
pages [val - 1 ].updateStats ();
827
+ this .previousPageNumber = currentPageNumber ;
825
828
currentPageNumber = val ;
826
829
event .pageNumber = val ;
827
830
window .dispatchEvent (event );
@@ -1479,12 +1482,21 @@ var PDFView = {
1479
1482
1480
1483
switch (view ) {
1481
1484
case 'thumbs' :
1485
+ var wasOutlineViewVisible = thumbsView .classList .contains ('hidden' );
1486
+
1482
1487
thumbsButton .classList .add ('toggled' );
1483
1488
outlineButton .classList .remove ('toggled' );
1484
1489
thumbsView .classList .remove ('hidden' );
1485
1490
outlineView .classList .add ('hidden' );
1486
1491
1487
1492
PDFView .renderHighestPriority ();
1493
+
1494
+ if (wasOutlineViewVisible ) {
1495
+ // Ensure that the thumbnail of the current page is visible
1496
+ // when switching from the outline view.
1497
+ scrollIntoView (document .getElementById ('thumbnailContainer' +
1498
+ this .page ));
1499
+ }
1488
1500
break ;
1489
1501
1490
1502
case 'outline' :
@@ -2215,6 +2227,12 @@ var ThumbnailView = function thumbnailView(container, pdfPage, id) {
2215
2227
div .id = 'thumbnailContainer' + id ;
2216
2228
div .className = 'thumbnail' ;
2217
2229
2230
+ if (id === 1 ) {
2231
+ // Highlight the thumbnail of the first page when no page number is
2232
+ // specified (or exists in cache) when the document is loaded.
2233
+ div .classList .add ('selected' );
2234
+ }
2235
+
2218
2236
var ring = document .createElement ('div' );
2219
2237
ring .className = 'thumbnailSelectionRing' ;
2220
2238
ring .style .width = canvasWidth + 'px' ;
@@ -3077,7 +3095,7 @@ window.addEventListener('scalechange', function scalechange(evt) {
3077
3095
3078
3096
window .addEventListener ('pagechange' , function pagechange (evt ) {
3079
3097
var page = evt .pageNumber ;
3080
- if (document . getElementById ( 'pageNumber' ). value ! = page ) {
3098
+ if (PDFView . previousPageNumber != = page ) {
3081
3099
document .getElementById ('pageNumber' ).value = page ;
3082
3100
var selected = document .querySelector ('.thumbnail.selected' );
3083
3101
if (selected )
0 commit comments