[Pkg-javascript-commits] [pdf.js] 135/207: Misc UI improvements for the SVG Viewer
David Prévot
taffit at moszumanska.debian.org
Mon Jul 28 15:36:40 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository pdf.js.
commit 9a28b8a41291f92b972f9d27ca87b8a731388444
Author: Yury Delendik <ydelendik at mozilla.com>
Date: Thu Jun 19 22:20:55 2014 -0500
Misc UI improvements for the SVG Viewer
---
examples/svgviewer/viewer.js | 39 +++++++++++++++++++++++++--------------
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/examples/svgviewer/viewer.js b/examples/svgviewer/viewer.js
index 54c9f7b..ceb1bb5 100644
--- a/examples/svgviewer/viewer.js
+++ b/examples/svgviewer/viewer.js
@@ -7,10 +7,19 @@
'use strict';
+// Parse query string to extract some parameters (it can fail for some input)
+var query = document.location.href.replace(/^[^?]*(\?([^#]*))?(#.*)?/, '$2');
+var queryParams = query ? JSON.parse('{' + query.split('&').map(function (a) {
+ return a.split('=').map(decodeURIComponent).map(JSON.stringify).join(': ');
+}).join(',') + '}') : {};
+
+var url = queryParams.file || '../../test/pdfs/liveprogramming.pdf';
+var scale = +queryParams.scale || 1.5;
+
//
// Fetch the PDF document from the URL using promises
//
-PDFJS.getDocument('../../test/pdfs/liveprogramming.pdf').then(function(pdf) {
+PDFJS.getDocument(url).then(function(pdf) {
var numPages = pdf.numPages;
// Using promise to fetch the page
@@ -20,10 +29,14 @@ PDFJS.getDocument('../../test/pdfs/liveprogramming.pdf').then(function(pdf) {
var promise = Promise.resolve();
for (var i = 1; i <= ii; i++) {
- // Using promise to fetch the page
- promise = promise.then(function (pageNum) {
+ var anchor = document.createElement('a');
+ anchor.setAttribute('name', 'page=' + i);
+ anchor.setAttribute('title', 'Page ' + i);
+ document.body.appendChild(anchor);
+
+ // Using promise to fetch and render the next page
+ promise = promise.then(function (pageNum, anchor) {
return pdf.getPage(pageNum).then(function (page) {
- var scale = 1.5;
var viewport = page.getViewport(scale);
var container = document.createElement('div');
@@ -31,25 +44,23 @@ PDFJS.getDocument('../../test/pdfs/liveprogramming.pdf').then(function(pdf) {
container.className = 'pageContainer';
container.style.width = viewport.width + 'px';
container.style.height = viewport.height + 'px';
- document.body.appendChild(container);
+ anchor.appendChild(container);
var renderContext = {
viewport: viewport,
pageNum: pageNum,
container: container
};
- // run rendering only when all pages are loaded
- promise.then(function () {
- page.getOperatorList().then(function (opList) {
- var svgGfx = new SVGGraphics(page.commonObjs);
- svgGfx.loadDependencies(opList).then(function (values) {
- svgGfx.beginDrawing(renderContext.viewport, renderContext.pageNum,
- renderContext.container, opList);
- });
+ // the next page fetch will start only after this page rendering is done
+ return page.getOperatorList().then(function (opList) {
+ var svgGfx = new SVGGraphics(page.commonObjs);
+ return svgGfx.loadDependencies(opList).then(function (values) {
+ return svgGfx.beginDrawing(renderContext.viewport,
+ renderContext.pageNum, renderContext.container, opList);
});
});
});
- }.bind(null, i));
+ }.bind(null, i, anchor));
}
});
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git
More information about the Pkg-javascript-commits
mailing list