|
18 | 18 | */
|
19 | 19 | import $ from "jquery";
|
20 | 20 | import dom from "./dom";
|
| 21 | +import events from "./events"; |
21 | 22 | import logging from "./logging";
|
22 | 23 | import utils from "./utils";
|
23 | 24 |
|
@@ -150,7 +151,7 @@ const registry = {
|
150 | 151 | return patterns;
|
151 | 152 | },
|
152 | 153 |
|
153 |
| - scan(content, patterns, trigger) { |
| 154 | + async scan(content, patterns, trigger) { |
154 | 155 | if (!content) {
|
155 | 156 | return;
|
156 | 157 | }
|
@@ -205,12 +206,25 @@ const registry = {
|
205 | 206 | });
|
206 | 207 |
|
207 | 208 | // walk list backwards and initialize patterns inside-out.
|
| 209 | + const pattern_instances = []; |
208 | 210 | for (const el of matches.reverse()) {
|
209 | 211 | for (const name of patterns) {
|
210 |
| - this.initPattern(name, el, trigger); |
| 212 | + pattern_instances.push(this.initPattern(name, el, trigger)); |
211 | 213 | }
|
212 | 214 | }
|
| 215 | + |
| 216 | + // Notify for all patterns loaded. |
| 217 | + document.dispatchEvent( |
| 218 | + new Event("patterns-loaded") |
| 219 | + ); |
213 | 220 | document.body.classList.add("patterns-loaded");
|
| 221 | + |
| 222 | + // Notify for all Patterns initialized. |
| 223 | + await Promise.all(pattern_instances); |
| 224 | + document.dispatchEvent( |
| 225 | + new Event("patterns-initialized") |
| 226 | + ); |
| 227 | + document.body.classList.add("patterns-initialized"); |
214 | 228 | },
|
215 | 229 |
|
216 | 230 | register(pattern, name) {
|
|
0 commit comments