11import observer from "@cocreate/observer" ;
22
33function listen ( name , callback , selector ) {
4- const observerName = name + "LazyloadAddedNodesObserver" ;
4+ const addedNodesObserverName = name + "LazyloadAddedNodesObserver" ;
5+ const attributesObserverName = name + "LazyloadAttributesObserver" ;
56async function observerCallback ( mutation ) {
6- observer . uninit ( observerName ) ;
7+ observer . uninit ( addedNodesObserverName ) ;
8+ observer . uninit ( attributesObserverName ) ;
79
810if ( ! window . CoCreate ) window . CoCreate = { } ;
911
@@ -19,7 +21,7 @@ function listen(name, callback, selector) {
1921}
2022
2123observer . init ( {
22- name : observerName ,
24+ name : addedNodesObserverName ,
2325types : [ "addedNodes" ] ,
2426selector,
2527callback : observerCallback
@@ -42,7 +44,7 @@ function listen(name, callback, selector) {
4244}
4345if ( selectorAttributes . length > 0 )
4446observer . init ( {
45- name : observerName ,
47+ name : attributesObserverName ,
4648types : [ "attributes" ] ,
4749attributeFilter : selectorAttributes ,
4850selector,
@@ -51,9 +53,11 @@ function listen(name, callback, selector) {
5153}
5254
5355export async function lazyLoad ( name , selector , callback ) {
54- if ( document . querySelector ( selector ) )
56+ if ( document . querySelector ( selector ) ) {
5557await dependency ( name , await callback ( ) ) ;
56- else listen ( name , callback , selector ) ;
58+ } else {
59+ listen ( name , callback , selector ) ;
60+ }
5761}
5862
5963export async function dependency ( name , promise ) {
0 commit comments