@@ -19,6 +19,25 @@ let useRender;
19
19
const cache = [ ] ;
20
20
const maxCached = 6 ;
21
21
22
+ var loading_bar = document . getElementById ( "loading-bar" ) ;
23
+ var loading_bar_container = document . getElementById ( "loading-bar-container" ) ;
24
+
25
+ function show_progress_bar ( ) {
26
+ loading_bar . style . display = "block" ;
27
+ loading_bar_container . style . display = "block" ;
28
+ }
29
+
30
+ function hide_progress_bar ( ) {
31
+ loading_bar . style . display = "none" ;
32
+ loading_bar_container . style . display = "none" ;
33
+ }
34
+
35
+ function set_progress ( value ) {
36
+ if ( value == 0 ) show_progress_bar ( ) ;
37
+ else if ( value == 100 ) hide_progress_bar ( ) ;
38
+ else loading_bar . style . width = value + "%" ;
39
+ }
40
+
22
41
function maybeRenderNextPage ( ) {
23
42
if ( renderPending ) {
24
43
pageRendering = false ;
@@ -209,6 +228,14 @@ function loadDocument() {
209
228
}
210
229
}
211
230
231
+ loadingTask . onProgress = function ( data ) {
232
+ var progress = Math . ceil ( ( data . loaded / data . total ) * 100 ) ;
233
+ console . log ( "Progress: " + progress ) ;
234
+ set_progress ( progress ) ;
235
+ }
236
+
237
+ show_progress_bar ( ) ;
238
+
212
239
loadingTask . promise . then ( function ( newDoc ) {
213
240
pdfDoc = newDoc ;
214
241
channel . setNumPages ( pdfDoc . numPages ) ;
@@ -218,7 +245,9 @@ function loadDocument() {
218
245
console . log ( "getMetadata error: " + error ) ;
219
246
} ) ;
220
247
renderPage ( channel . getPage ( ) , false , false ) ;
248
+ hide_progress_bar ( ) ;
221
249
} , function ( reason ) {
250
+ hide_progress_bar ( ) ;
222
251
console . error ( reason . name + ": " + reason . message ) ;
223
252
} ) ;
224
253
}
0 commit comments