Skip to content

Commit 809c119

Browse files
committed
fix(core registry): Do not reinitialize and already initialized patterns registry.
1 parent d943de6 commit 809c119

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/core/registry.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,25 @@ if (typeof window.__patternslib_registry === "undefined") {
5050
window.__patternslib_registry = {};
5151
}
5252
export const PATTERN_REGISTRY = window.__patternslib_registry;
53+
if (typeof window.__patternslib_registry_initialized === "undefined") {
54+
window.__patternslib_registry_initialized = false;
55+
}
5356

5457
const registry = {
5558
patterns: PATTERN_REGISTRY, // reference to global patterns registry
5659
// as long as the registry is not initialized, pattern
5760
// registration just registers a pattern. Once init is called,
5861
// the DOM is scanned. After that registering a new pattern
5962
// results in rescanning the DOM only for this pattern.
60-
initialized: false,
6163
init() {
6264
$(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;
6370
log.info("loaded: " + Object.keys(registry.patterns).sort().join(", "));
6471
registry.scan(document.body);
65-
registry.initialized = true;
6672
log.info("finished initial scan.");
6773
});
6874
},
@@ -211,7 +217,9 @@ const registry = {
211217
$.fn[plugin_name.replace(/^pat/, "pattern")] = $.fn[plugin_name];
212218
}
213219
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.
215223
registry.scan(document.body, [name]);
216224
}
217225
return true;

0 commit comments

Comments
 (0)