Browse Source

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

notmasteryet 14 years ago
parent
commit
612f59aa10
  1. 2
      web/viewer.html
  2. 16
      web/viewer.js

2
web/viewer.html

@ -28,7 +28,7 @@
<div class="separator"></div> <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>/</span>
<span id="numPages">--</span> <span id="numPages">--</span>

16
web/viewer.js

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

Loading…
Cancel
Save