Browse Source

Merge pull request #6140 from Snuffleupagus/move-pagechange-into-PDFViewer

Move the page switching code into `set currentPageNumber` in `PDFViewer` instead of placing it in the `pagechange` event handler
Yury Delendik 10 years ago
parent
commit
1da0b3a363
  1. 10
      web/pdf_viewer.js
  2. 13
      web/viewer.js

10
web/pdf_viewer.js

@ -137,6 +137,12 @@ var PDFViewer = (function pdfViewer() {
this._currentPageNumber = val; this._currentPageNumber = val;
event.pageNumber = val; event.pageNumber = val;
this.container.dispatchEvent(event); this.container.dispatchEvent(event);
// Check if the caller is `PDFViewer_update`, to avoid breaking scrolling.
if (this.updateInProgress) {
return;
}
this.scrollPageIntoView(val);
}, },
/** /**
@ -566,7 +572,7 @@ var PDFViewer = (function pdfViewer() {
}; };
}, },
update: function () { update: function PDFViewer_update() {
var visible = this._getVisiblePages(); var visible = this._getVisiblePages();
var visiblePages = visible.views; var visiblePages = visible.views;
if (visiblePages.length === 0) { if (visiblePages.length === 0) {
@ -581,7 +587,7 @@ var PDFViewer = (function pdfViewer() {
this.renderingQueue.renderHighestPriority(visible); this.renderingQueue.renderHighestPriority(visible);
var currentId = this.currentPageNumber; var currentId = this._currentPageNumber;
var firstPage = visible.first; var firstPage = visible.first;
for (var i = 0, ii = visiblePages.length, stillFullyVisible = false; for (var i = 0, ii = visiblePages.length, stillFullyVisible = false;

13
web/viewer.js

@ -526,7 +526,6 @@ var PDFViewerApplication = {
} }
var self = this; var self = this;
self.loading = true;
self.downloadComplete = false; self.downloadComplete = false;
var passwordNeeded = function passwordNeeded(updatePassword, reason) { var passwordNeeded = function passwordNeeded(updatePassword, reason) {
@ -543,7 +542,6 @@ var PDFViewerApplication = {
getDocumentProgress).then( getDocumentProgress).then(
function getDocumentCallback(pdfDocument) { function getDocumentCallback(pdfDocument) {
self.load(pdfDocument, scale); self.load(pdfDocument, scale);
self.loading = false;
}, },
function getDocumentError(exception) { function getDocumentError(exception) {
var message = exception && exception.message; var message = exception && exception.message;
@ -571,7 +569,6 @@ var PDFViewerApplication = {
message: message message: message
}; };
self.error(loadingErrorMessage, moreInfo); self.error(loadingErrorMessage, moreInfo);
self.loading = false;
} }
); );
@ -1822,16 +1819,6 @@ window.addEventListener('pagechange', function pagechange(evt) {
Stats.add(page, pageView.stats); Stats.add(page, pageView.stats);
} }
} }
// checking if the this.page was called from the updateViewarea function
if (evt.updateInProgress) {
return;
}
// Avoid scrolling the first page during loading
if (this.loading && page === 1) {
return;
}
PDFViewerApplication.pdfViewer.scrollPageIntoView(page);
}, true); }, true);
function handleMouseWheel(evt) { function handleMouseWheel(evt) {

Loading…
Cancel
Save