File tree Expand file tree Collapse file tree
src/components/BootstrapBlazor.PdfReader Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -125,8 +125,34 @@ export function resetThumbnails(id) {
125125const loadPdf = async pdf => {
126126 const { el, invoke, options } = pdf ;
127127 const loadingTask = pdfjsLib . getDocument ( options ) ;
128+
129+ const progressEl = el . querySelector ( '.bb-view-progress' ) ;
130+ if ( progressEl ) {
131+ progressEl . classList . add ( 'show' ) ;
132+ }
133+ const bar = el . querySelector ( '.bb-view-progress-bar' ) ;
134+ if ( bar ) {
135+ bar . style . setProperty ( '--bb-view-progress-val' , '0' ) ;
136+ }
137+
138+ let progressHandler = null ;
128139 loadingTask . onProgress = function ( progressData ) {
140+ const { loaded, total } = progressData ;
129141
142+ if ( bar ) {
143+ const val = loaded / total * 100 ;
144+ if ( val > 100 ) {
145+ val = 100 ;
146+ }
147+ bar . style . setProperty ( '--bb-view-progress-val' , `${ val } %` ) ;
148+
149+ if ( progressHandler === null ) {
150+ progressHandler = setTimeout ( ( ) => {
151+ clearTimeout ( progressHandler ) ;
152+ progressEl . classList . remove ( 'show' ) ;
153+ } , 300 ) ;
154+ }
155+ }
130156 } ;
131157
132158 loadingTask . onPassword = function ( updatePassword , reason ) {
You can’t perform that action at this time.
0 commit comments