Browse Source

New version: show loading icon until page renders

Artur Adib 13 years ago
parent
commit
5ef79dca14
  1. 6
      web/viewer.css
  2. 19
      web/viewer.js

6
web/viewer.css

@ -237,7 +237,7 @@ canvas { @@ -237,7 +237,7 @@ canvas {
.loadingIcon {
position: absolute;
display: none;
display: block;
left: 0;
top: 0;
right: 0;
@ -245,8 +245,8 @@ canvas { @@ -245,8 +245,8 @@ canvas {
background: url('images/loading-icon.gif') center no-repeat; */
}
.loadingIcon.show {
display: block;
.loadingIcon.hide {
display: none;
}
.textLayer {

19
web/viewer.js

@ -618,6 +618,10 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight, @@ -618,6 +618,10 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
div.removeAttribute('data-loaded');
delete this.canvas;
this.loadingIconDiv = document.createElement('div');
this.loadingIconDiv.className = 'loadingIcon';
div.appendChild(this.loadingIconDiv);
};
function setupAnnotations(content, scale) {
@ -774,7 +778,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight, @@ -774,7 +778,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
};
this.drawingRequired = function() {
return !div.hasChildNodes();
return !div.querySelector('canvas');
};
this.draw = function pageviewDraw(callback) {
@ -790,10 +794,6 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight, @@ -790,10 +794,6 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
div.appendChild(canvas);
this.canvas = canvas;
var loadingIconDiv = document.createElement('div');
loadingIconDiv.className = 'loadingIcon';
div.appendChild(loadingIconDiv);
var textLayerDiv = null;
if (!PDFJS.disableTextLayer) {
textLayerDiv = document.createElement('div');
@ -816,16 +816,9 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight, @@ -816,16 +816,9 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
// Rendering area
var self = this;
// Display loading icon if page hasn't finished rendering after XXXX ms
var loadingTimer = setTimeout(function loadingTimerCallback() {
loadingIconDiv.classList.add('show');
}, 1000);
stats.begin = Date.now();
this.content.startRendering(ctx, function pageViewDrawCallback(error) {
clearTimeout(loadingTimer);
loadingIconDiv.classList.remove('show');
self.loadingIconDiv.classList.add('hide');
if (error)
PDFView.error('An error occurred while rendering the page.', error);

Loading…
Cancel
Save