1
1
import observer from "@cocreate/observer" ;
2
2
3
3
function listen ( name , callback , selector ) {
4
- async function observerCallback ( { target } ) {
4
+ const observerName = name + "LazyloadAddedNodesObserver" ;
5
+ async function observerCallback ( mutation ) {
6
+ observer . uninit ( observerName ) ;
7
+
5
8
if ( ! window . CoCreate ) window . CoCreate = { } ;
6
9
7
10
if ( window . CoCreate [ name ] ) return ;
8
11
window . CoCreate [ name ] = { } ;
9
- observer . uninit ( observerCallback ) ;
12
+ // observer.uninit(name );
10
13
11
14
const module = await callback ( ) ;
12
- observer . uninit ( observerCallback ) ;
15
+ // observer.uninit(name );
13
16
window . CoCreate [ name ] = module . default || module ;
14
17
15
18
dispatchComponentLoaded ( name ) ;
16
19
}
17
20
18
21
observer . init ( {
19
- name : "lazyloadObserver" ,
20
- observe : [ "childList " ] ,
22
+ name : observerName ,
23
+ types : [ "addedNodes " ] ,
21
24
selector,
22
25
callback : observerCallback
23
26
} ) ;
@@ -39,9 +42,9 @@ function listen(name, callback, selector) {
39
42
}
40
43
if ( selectorAttributes . length > 0 )
41
44
observer . init ( {
42
- name : "lazyloadAttributeObserver" ,
43
- observe : [ "attributes" ] ,
44
- attributeName : selectorAttributes ,
45
+ name : observerName ,
46
+ types : [ "attributes" ] ,
47
+ attributeFilter : selectorAttributes ,
45
48
selector,
46
49
callback : observerCallback
47
50
} ) ;
0 commit comments