@@ -50,19 +50,25 @@ if (typeof window.__patternslib_registry === "undefined") {
50
50
window . __patternslib_registry = { } ;
51
51
}
52
52
export const PATTERN_REGISTRY = window . __patternslib_registry ;
53
+ if ( typeof window . __patternslib_registry_initialized === "undefined" ) {
54
+ window . __patternslib_registry_initialized = false ;
55
+ }
53
56
54
57
const registry = {
55
58
patterns : PATTERN_REGISTRY , // reference to global patterns registry
56
59
// as long as the registry is not initialized, pattern
57
60
// registration just registers a pattern. Once init is called,
58
61
// the DOM is scanned. After that registering a new pattern
59
62
// results in rescanning the DOM only for this pattern.
60
- initialized : false ,
61
63
init ( ) {
62
64
$ ( document ) . ready ( function ( ) {
65
+ if ( window . __patternslib_registry_initialized ) {
66
+ // Do not reinitialize a already initialized registry.
67
+ return ;
68
+ }
69
+ window . __patternslib_registry_initialized = true ;
63
70
log . info ( "loaded: " + Object . keys ( registry . patterns ) . sort ( ) . join ( ", " ) ) ;
64
71
registry . scan ( document . body ) ;
65
- registry . initialized = true ;
66
72
log . info ( "finished initial scan." ) ;
67
73
} ) ;
68
74
} ,
@@ -211,7 +217,9 @@ const registry = {
211
217
$ . fn [ plugin_name . replace ( / ^ p a t / , "pattern" ) ] = $ . fn [ plugin_name ] ;
212
218
}
213
219
log . debug ( "Registered pattern:" , name , pattern ) ;
214
- if ( registry . initialized ) {
220
+ if ( window . __patternslib_registry_initialized ) {
221
+ // Once the first initialization has been done, do only scan for
222
+ // newly registered patterns.
215
223
registry . scan ( document . body , [ name ] ) ;
216
224
}
217
225
return true ;
0 commit comments