Browse Source

Merge pull request #7485 from Snuffleupagus/resetCurrentPageView

Ensure that we don't reset the current page view if the user inputs an invalid page number (PR 7289 follow-up)
Tim van der Meij 9 years ago committed by GitHub
parent
commit
0da97ad2a0
  1. 26
      web/pdf_viewer.js

26
web/pdf_viewer.js

@ -155,22 +155,34 @@ var PDFViewer = (function pdfViewer() { @@ -155,22 +155,34 @@ var PDFViewer = (function pdfViewer() {
return this._pages[index];
},
/**
* @returns {number}
*/
get currentPageNumber() {
return this._currentPageNumber;
},
/**
* @param {number} val - The page number.
*/
set currentPageNumber(val) {
if (!this.pdfDocument) {
this._currentPageNumber = val;
return;
}
this._setCurrentPageNumber(val);
// The intent can be to just reset a scroll position and/or scale.
this._resetCurrentPageView();
this._setCurrentPageNumber(val, /* resetCurrentPageView = */ true);
},
_setCurrentPageNumber: function pdfViewer_setCurrentPageNumber(val) {
/**
* @private
*/
_setCurrentPageNumber:
function pdfViewer_setCurrentPageNumber(val, resetCurrentPageView) {
if (this._currentPageNumber === val) {
if (resetCurrentPageView) {
this._resetCurrentPageView();
}
return;
}
var arg;
@ -193,6 +205,10 @@ var PDFViewer = (function pdfViewer() { @@ -193,6 +205,10 @@ var PDFViewer = (function pdfViewer() {
this._currentPageNumber = val;
this.eventBus.dispatch('pagechanging', arg);
this.eventBus.dispatch('pagechange', arg);
if (resetCurrentPageView) {
this._resetCurrentPageView();
}
},
/**
@ -500,6 +516,7 @@ var PDFViewer = (function pdfViewer() { @@ -500,6 +516,7 @@ var PDFViewer = (function pdfViewer() {
/**
* Refreshes page view: scrolls to the current page and updates the scale.
* @private
*/
_resetCurrentPageView: function () {
if (this.isInPresentationMode) {
@ -524,8 +541,7 @@ var PDFViewer = (function pdfViewer() { @@ -524,8 +541,7 @@ var PDFViewer = (function pdfViewer() {
}
if (this.isInPresentationMode || !dest) {
this._setCurrentPageNumber(pageNumber);
this._resetCurrentPageView();
this._setCurrentPageNumber(pageNumber, /* resetCurrentPageView */ true);
return;
}

Loading…
Cancel
Save