@@ -5,6 +5,8 @@ import { ProgressSettings } from './types'
5
5
6
6
const baseComponentSelector = 'nprogress'
7
7
8
+ let progress : HTMLDivElement
9
+
8
10
const settings : ProgressSettings = {
9
11
minimum : 0.08 ,
10
12
easing : 'linear' ,
@@ -36,6 +38,10 @@ const configure = (options: Partial<ProgressSettings>) => {
36
38
if ( settings . includeCSS ) {
37
39
injectCSS ( settings . color )
38
40
}
41
+
42
+ progress = document . createElement ( 'div' )
43
+ progress . id = baseComponentSelector
44
+ progress . innerHTML = settings . template
39
45
}
40
46
41
47
/**
@@ -185,10 +191,6 @@ const render = (fromStart: boolean) => {
185
191
186
192
document . documentElement . classList . add ( `${ baseComponentSelector } -busy` )
187
193
188
- const progress = document . createElement ( 'div' )
189
- progress . id = baseComponentSelector
190
- progress . innerHTML = settings . template
191
-
192
194
const bar = progress . querySelector ( settings . barSelector ) ! as HTMLElement
193
195
const perc = fromStart ? '-100' : toBarPercentage ( status || 0 )
194
196
const parent = getParent ( )
@@ -216,7 +218,7 @@ const getParent = (): HTMLElement => {
216
218
const remove = ( ) => {
217
219
document . documentElement . classList . remove ( `${ baseComponentSelector } -busy` )
218
220
getParent ( ) . classList . remove ( `${ baseComponentSelector } -custom-parent` )
219
- document . getElementById ( baseComponentSelector ) ?. remove ( )
221
+ progress ?. remove ( )
220
222
}
221
223
222
224
const isRendered = ( ) => {
@@ -339,18 +341,14 @@ const injectCSS = (color: string): void => {
339
341
}
340
342
341
343
const show = ( ) => {
342
- const element = document . getElementById ( baseComponentSelector )
343
-
344
- if ( element ) {
345
- element . style . display = ''
344
+ if ( progress ) {
345
+ progress . style . display = ''
346
346
}
347
347
}
348
348
349
349
const hide = ( ) => {
350
- const element = document . getElementById ( baseComponentSelector )
351
-
352
- if ( element ) {
353
- element . style . display = 'none'
350
+ if ( progress ) {
351
+ progress . style . display = 'none'
354
352
}
355
353
}
356
354
0 commit comments