11import observer from "@cocreate/observer" ;
22
33function listen ( name , callback , selector ) {
4- async function observerCallback ( { target } ) {
4+ const observerName = name + "LazyloadAddedNodesObserver" ;
5+ async function observerCallback ( mutation ) {
6+ observer . uninit ( observerName ) ;
7+
58 if ( ! window . CoCreate ) window . CoCreate = { } ;
69
710 if ( window . CoCreate [ name ] ) return ;
811 window . CoCreate [ name ] = { } ;
9- observer . uninit ( observerCallback ) ;
12+ // observer.uninit(name );
1013
1114 const module = await callback ( ) ;
12- observer . uninit ( observerCallback ) ;
15+ // observer.uninit(name );
1316 window . CoCreate [ name ] = module . default || module ;
1417
1518 dispatchComponentLoaded ( name ) ;
1619 }
1720
1821 observer . init ( {
19- name : "lazyloadObserver" ,
20- observe : [ "childList " ] ,
22+ name : observerName ,
23+ types : [ "addedNodes " ] ,
2124 selector,
2225 callback : observerCallback
2326 } ) ;
@@ -39,9 +42,9 @@ function listen(name, callback, selector) {
3942 }
4043 if ( selectorAttributes . length > 0 )
4144 observer . init ( {
42- name : "lazyloadAttributeObserver" ,
43- observe : [ "attributes" ] ,
44- attributeName : selectorAttributes ,
45+ name : observerName ,
46+ types : [ "attributes" ] ,
47+ attributeFilter : selectorAttributes ,
4548 selector,
4649 callback : observerCallback
4750 } ) ;
0 commit comments