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)
This commit is contained in:
Tim van der Meij 2016-07-17 19:49:11 +02:00 committed by GitHub
commit 0da97ad2a0

View File

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