Limiting scale 25..400 (ref #582); disable scale keyboard when toolbar is active (ref #579); set page number field as 'number'

This commit is contained in:
notmasteryet 2011-10-01 15:52:27 -05:00
parent 846fc1755c
commit 612f59aa10
2 changed files with 15 additions and 3 deletions

View File

@ -28,7 +28,7 @@
<div class="separator"></div>
<input type="text" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4"/>
<input type="number" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1" />
<span>/</span>
<span id="numPages">--</span>

View File

@ -9,6 +9,8 @@ var kDefaultScaleDelta = 1.1;
var kCacheSize = 20;
var kCssUnits = 96.0 / 72.0;
var kScrollbarPadding = 40;
var kMinScale = 0.25;
var kMaxScale = 4.0;
var Cache = function(size) {
@ -72,11 +74,13 @@ var PDFView = {
},
zoomIn: function() {
this.setScale(this.currentScale * kDefaultScaleDelta, true);
var newScale = Math.min(kMaxScale, this.currentScale * kDefaultScaleDelta);
this.setScale(newScale, true);
},
zoomOut: function() {
this.setScale(this.currentScale / kDefaultScaleDelta, true);
var newScale = Math.max(kMinScale, this.currentScale / kDefaultScaleDelta);
this.setScale(newScale, true);
},
set page(val) {
@ -166,6 +170,7 @@ var PDFView = {
var pdf = new PDFDoc(data);
var pagesCount = pdf.numPages;
document.getElementById('numPages').innerHTML = pagesCount;
document.getElementById('pageNumber').max = pagesCount;
var pages = this.pages = [];
var pagesRefMap = {};
@ -628,6 +633,13 @@ window.addEventListener('pagechange', function pagechange(evt) {
}, true);
window.addEventListener('keydown', function keydown(evt) {
var curElement = document.activeElement;
var controlsElement = document.getElementById('controls');
while (curElement) {
if (curElement === controlsElement)
return; // ignoring if the 'controls' element is focused
curElement = curElement.parentNode;
}
switch (evt.keyCode) {
case 61: // FF/Mac '='
case 107: // FF '+' and '='