Skip to content

Commit 5e489e6

Browse files
committed
feat: dispatch event "<component>Loaded"
1 parent 83497d1 commit 5e489e6

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/client.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import observer from '@cocreate/observer';
22

3-
function listen(callback, selector) {
3+
function listen(name, callback, selector) {
44

55
function observerCallback({ target }) {
66
// let isInit = target.querySelector(selector)/testtt
77
// if (isInit) {
88
callback()
99
// console.log('lazyloaded', selector)
1010
observer.uninit(observerCallback)
11+
dispatchComponentLoaded(name)
1112
// }
1213
}
1314

@@ -50,12 +51,19 @@ export async function lazyLoad(name, selector, callback) {
5051
if (document.querySelector(selector))
5152
await dependency(name, await callback())
5253
else
53-
listen(callback, selector)
54+
listen(name, callback, selector)
5455
}
5556

5657
export async function dependency(name, promise) {
5758
let component = await promise;
5859
Object.assign(window.CoCreate, {
5960
[name]: component.default
6061
});
61-
}
62+
dispatchComponentLoaded(name)
63+
}
64+
65+
function dispatchComponentLoaded(name) {
66+
document.dispatchEvent(new CustomEvent(name + 'Loaded', {
67+
detail: { name }
68+
}));
69+
}

0 commit comments

Comments
 (0)