Merge pull request #7529 from Snuffleupagus/setCurrentPageNumber-warn-on-outOfBounds
Log an error when the value passed to `set currentPageNumber` is out of bounds (PR 7502 followup)
This commit is contained in:
commit
ca81f4df18
59
web/app.js
59
web/app.js
@ -396,15 +396,15 @@ var PDFViewerApplication = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get pagesCount() {
|
get pagesCount() {
|
||||||
return this.pdfDocument.numPages;
|
return this.pdfDocument ? this.pdfDocument.numPages : 0;
|
||||||
},
|
},
|
||||||
|
|
||||||
set page(val) {
|
set page(val) {
|
||||||
this.pdfLinkService.page = val;
|
this.pdfViewer.currentPageNumber = val;
|
||||||
},
|
},
|
||||||
|
|
||||||
get page() { // TODO remove
|
get page() {
|
||||||
return this.pdfLinkService.page;
|
return this.pdfViewer.currentPageNumber;
|
||||||
},
|
},
|
||||||
|
|
||||||
get supportsPrinting() {
|
get supportsPrinting() {
|
||||||
@ -1496,30 +1496,25 @@ function webViewerInitialized() {
|
|||||||
}
|
}
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
appConfig.sidebar.toggleButton.addEventListener('click',
|
appConfig.sidebar.toggleButton.addEventListener('click', function() {
|
||||||
function() {
|
PDFViewerApplication.pdfSidebar.toggle();
|
||||||
PDFViewerApplication.pdfSidebar.toggle();
|
});
|
||||||
});
|
|
||||||
|
|
||||||
appConfig.toolbar.previous.addEventListener('click',
|
appConfig.toolbar.previous.addEventListener('click', function() {
|
||||||
function() {
|
PDFViewerApplication.page--;
|
||||||
PDFViewerApplication.page--;
|
});
|
||||||
});
|
|
||||||
|
|
||||||
appConfig.toolbar.next.addEventListener('click',
|
appConfig.toolbar.next.addEventListener('click', function() {
|
||||||
function() {
|
PDFViewerApplication.page++;
|
||||||
PDFViewerApplication.page++;
|
});
|
||||||
});
|
|
||||||
|
|
||||||
appConfig.toolbar.zoomIn.addEventListener('click',
|
appConfig.toolbar.zoomIn.addEventListener('click', function() {
|
||||||
function() {
|
PDFViewerApplication.zoomIn();
|
||||||
PDFViewerApplication.zoomIn();
|
});
|
||||||
});
|
|
||||||
|
|
||||||
appConfig.toolbar.zoomOut.addEventListener('click',
|
appConfig.toolbar.zoomOut.addEventListener('click', function() {
|
||||||
function() {
|
PDFViewerApplication.zoomOut();
|
||||||
PDFViewerApplication.zoomOut();
|
});
|
||||||
});
|
|
||||||
|
|
||||||
appConfig.toolbar.pageNumber.addEventListener('click', function() {
|
appConfig.toolbar.pageNumber.addEventListener('click', function() {
|
||||||
this.select();
|
this.select();
|
||||||
@ -2187,7 +2182,9 @@ window.addEventListener('keydown', function keydown(evt) {
|
|||||||
/* falls through */
|
/* falls through */
|
||||||
case 75: // 'k'
|
case 75: // 'k'
|
||||||
case 80: // 'p'
|
case 80: // 'p'
|
||||||
PDFViewerApplication.page--;
|
if (PDFViewerApplication.page > 1) {
|
||||||
|
PDFViewerApplication.page--;
|
||||||
|
}
|
||||||
handled = true;
|
handled = true;
|
||||||
break;
|
break;
|
||||||
case 27: // esc key
|
case 27: // esc key
|
||||||
@ -2217,7 +2214,9 @@ window.addEventListener('keydown', function keydown(evt) {
|
|||||||
/* falls through */
|
/* falls through */
|
||||||
case 74: // 'j'
|
case 74: // 'j'
|
||||||
case 78: // 'n'
|
case 78: // 'n'
|
||||||
PDFViewerApplication.page++;
|
if (PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
|
||||||
|
PDFViewerApplication.page++;
|
||||||
|
}
|
||||||
handled = true;
|
handled = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -2229,8 +2228,8 @@ window.addEventListener('keydown', function keydown(evt) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 35: // end
|
case 35: // end
|
||||||
if (isViewerInPresentationMode || (PDFViewerApplication.pdfDocument &&
|
if (isViewerInPresentationMode ||
|
||||||
PDFViewerApplication.page < PDFViewerApplication.pagesCount)) {
|
PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
|
||||||
PDFViewerApplication.page = PDFViewerApplication.pagesCount;
|
PDFViewerApplication.page = PDFViewerApplication.pagesCount;
|
||||||
handled = true;
|
handled = true;
|
||||||
ensureViewerFocused = true;
|
ensureViewerFocused = true;
|
||||||
@ -2255,7 +2254,9 @@ window.addEventListener('keydown', function keydown(evt) {
|
|||||||
pdfViewer.currentScaleValue !== 'page-fit') {
|
pdfViewer.currentScaleValue !== 'page-fit') {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
PDFViewerApplication.page--;
|
if (PDFViewerApplication.page > 1) {
|
||||||
|
PDFViewerApplication.page--;
|
||||||
|
}
|
||||||
handled = true;
|
handled = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ var PDFLinkService = (function PDFLinkServiceClosure() {
|
|||||||
* @returns {number}
|
* @returns {number}
|
||||||
*/
|
*/
|
||||||
get pagesCount() {
|
get pagesCount() {
|
||||||
return this.pdfDocument.numPages;
|
return this.pdfDocument ? this.pdfDocument.numPages : 0;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -111,7 +111,9 @@ var PDFLinkService = (function PDFLinkServiceClosure() {
|
|||||||
(destRef + 1);
|
(destRef + 1);
|
||||||
if (pageNumber) {
|
if (pageNumber) {
|
||||||
if (pageNumber > self.pagesCount) {
|
if (pageNumber > self.pagesCount) {
|
||||||
pageNumber = self.pagesCount;
|
console.error('PDFLinkService_navigateTo: ' +
|
||||||
|
'Trying to navigate to a non-existent page.');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
self.pdfViewer.scrollPageIntoView(pageNumber, dest);
|
self.pdfViewer.scrollPageIntoView(pageNumber, dest);
|
||||||
|
|
||||||
@ -288,11 +290,15 @@ var PDFLinkService = (function PDFLinkServiceClosure() {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'NextPage':
|
case 'NextPage':
|
||||||
this.page++;
|
if (this.page < this.pagesCount) {
|
||||||
|
this.page++;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'PrevPage':
|
case 'PrevPage':
|
||||||
this.page--;
|
if (this.page > 1) {
|
||||||
|
this.page--;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'LastPage':
|
case 'LastPage':
|
||||||
|
@ -181,7 +181,7 @@ var PDFViewer = (function pdfViewer() {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
_setCurrentPageNumber:
|
_setCurrentPageNumber:
|
||||||
function pdfViewer_setCurrentPageNumber(val, resetCurrentPageView) {
|
function PDFViewer_setCurrentPageNumber(val, resetCurrentPageView) {
|
||||||
if (this._currentPageNumber === val) {
|
if (this._currentPageNumber === val) {
|
||||||
if (resetCurrentPageView) {
|
if (resetCurrentPageView) {
|
||||||
this._resetCurrentPageView();
|
this._resetCurrentPageView();
|
||||||
@ -190,6 +190,8 @@ var PDFViewer = (function pdfViewer() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!(0 < val && val <= this.pagesCount)) {
|
if (!(0 < val && val <= this.pagesCount)) {
|
||||||
|
console.error('PDFViewer_setCurrentPageNumber: "' + val +
|
||||||
|
'" is out of bounds.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -467,7 +469,7 @@ var PDFViewer = (function pdfViewer() {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_setScale: function pdfViewer_setScale(value, noScroll) {
|
_setScale: function PDFViewer_setScale(value, noScroll) {
|
||||||
var scale = parseFloat(value);
|
var scale = parseFloat(value);
|
||||||
|
|
||||||
if (scale > 0) {
|
if (scale > 0) {
|
||||||
@ -507,8 +509,8 @@ var PDFViewer = (function pdfViewer() {
|
|||||||
scale = Math.min(MAX_AUTO_SCALE, horizontalScale);
|
scale = Math.min(MAX_AUTO_SCALE, horizontalScale);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.error('pdfViewSetScale: \'' + value +
|
console.error('PDFViewer_setScale: "' + value +
|
||||||
'\' is an unknown zoom value.');
|
'" is an unknown zoom value.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this._setScaleUpdatePages(scale, value, noScroll, true);
|
this._setScaleUpdatePages(scale, value, noScroll, true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user