[Pkg-javascript-commits] [pdf.js] 157/204: Add a page loading indicator to the page number input
David Prévot
taffit at moszumanska.debian.org
Sat Oct 25 18:50:45 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 b9ef80e1678d7d3ef239610b4e3e11d1ebc98534
Author: Jonas Jenwald <jonas.jenwald at gmail.com>
Date: Fri Jul 18 13:53:04 2014 +0200
Add a page loading indicator to the page number input
---
web/ui_utils.js | 1 -
web/viewer.css | 6 ++++++
web/viewer.js | 48 +++++++++++++++++++++++++++++++-----------------
3 files changed, 37 insertions(+), 18 deletions(-)
diff --git a/web/ui_utils.js b/web/ui_utils.js
index 1779b60..6ed4c2d 100644
--- a/web/ui_utils.js
+++ b/web/ui_utils.js
@@ -355,4 +355,3 @@ var Cache = function cacheCache(size) {
}
};
};
-
diff --git a/web/viewer.css b/web/viewer.css
index f202916..bf99f3c 100644
--- a/web/viewer.css
+++ b/web/viewer.css
@@ -1053,6 +1053,12 @@ html[dir='rtl'] .verticalToolbarSeparator {
width: 40px;
}
+.toolbarField.pageNumber.visiblePageIsLoading {
+ background-image: url(images/loading-small.png);
+ background-repeat: no-repeat;
+ background-position: 1px;
+}
+
.toolbarField.pageNumber::-webkit-inner-spin-button,
.toolbarField.pageNumber::-webkit-outer-spin-button {
-webkit-appearance: none;
diff --git a/web/viewer.js b/web/viewer.js
index ccd2e01..ea07765 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -22,7 +22,7 @@
DocumentProperties, DocumentOutlineView, DocumentAttachmentsView,
OverlayManager, PDFFindController, PDFFindBar, getVisibleElements,
watchScroll, PDFViewer, PDFRenderingQueue, PresentationModeState,
- DEFAULT_SCALE, UNKNOWN_SCALE,
+ RenderingStates, DEFAULT_SCALE, UNKNOWN_SCALE,
IGNORE_CURRENT_POSITION_ON_ZOOM: true */
'use strict';
@@ -34,7 +34,7 @@ var MAX_SCALE = 10.0;
var VIEW_HISTORY_MEMORY = 20;
var SCALE_SELECT_CONTAINER_PADDING = 8;
var SCALE_SELECT_PADDING = 22;
-
+var PAGE_NUMBER_LOADING_INDICATOR = 'visiblePageIsLoading';
//#if B2G
//PDFJS.useOnlyCssZoom = true;
//PDFJS.disableTextLayer = true;
@@ -878,13 +878,11 @@ var PDFViewerApplication = {
});
var pagesCount = pdfDocument.numPages;
-
- var id = pdfDocument.fingerprint;
document.getElementById('numPages').textContent =
mozL10n.get('page_of', {pageCount: pagesCount}, 'of {{pageCount}}');
document.getElementById('pageNumber').max = pagesCount;
- this.documentFingerprint = id;
+ var id = this.documentFingerprint = pdfDocument.fingerprint;
var store = this.store = new ViewHistory(id);
var pdfViewer = this.pdfViewer;
@@ -1646,20 +1644,18 @@ function webViewerInitialized() {
PDFViewerApplication.zoomOut();
});
- document.getElementById('pageNumber').addEventListener('click',
- function() {
- this.select();
- });
+ document.getElementById('pageNumber').addEventListener('click', function() {
+ this.select();
+ });
- document.getElementById('pageNumber').addEventListener('change',
- function() {
- // Handle the user inputting a floating point number.
- PDFViewerApplication.page = (this.value | 0);
+ document.getElementById('pageNumber').addEventListener('change', function() {
+ // Handle the user inputting a floating point number.
+ PDFViewerApplication.page = (this.value | 0);
- if (this.value !== (this.value | 0).toString()) {
- this.value = PDFViewerApplication.page;
- }
- });
+ if (this.value !== (this.value | 0).toString()) {
+ this.value = PDFViewerApplication.page;
+ }
+ });
document.getElementById('scaleSelect').addEventListener('change',
function() {
@@ -1756,6 +1752,13 @@ document.addEventListener('pagerendered', function (e) {
// }));
//});
//#endif
+
+ // If the page is still visible when it has finished rendering,
+ // ensure that the page number input loading indicator is hidden.
+ if ((pageIndex + 1) === PDFViewerApplication.page) {
+ var pageNumberInput = document.getElementById('pageNumber');
+ pageNumberInput.classList.remove(PAGE_NUMBER_LOADING_INDICATOR);
+ }
}, true);
window.addEventListener('presentationmodechanged', function (e) {
@@ -1797,6 +1800,17 @@ window.addEventListener('updateviewarea', function () {
// Update the current bookmark in the browsing history.
PDFHistory.updateCurrentBookmark(location.pdfOpenParams, location.pageNumber);
+
+ // Show/hide the loading indicator in the page number input element.
+ var pageNumberInput = document.getElementById('pageNumber');
+ var currentPage =
+ PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
+
+ if (currentPage.renderingState === RenderingStates.FINISHED) {
+ pageNumberInput.classList.remove(PAGE_NUMBER_LOADING_INDICATOR);
+ } else {
+ pageNumberInput.classList.add(PAGE_NUMBER_LOADING_INDICATOR);
+ }
}, true);
window.addEventListener('resize', function webViewerResize(evt) {
--
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