1UAGBLottie = { 2 getElement : ( id ) => { 3 // Check if the script has run once already on the given element (required for homepage sidebar usage case). 4 const getJsELement = document.querySelector( `.${id}:not(.uagb-activated-script)` ); 5 if( ! getJsELement ) return null; 6 7 // Ensures that the script only runs once on the given element (required for homepage sidebar usage case). 8 getJsELement.classList.add( 'uagb-activated-script' ); 9 return getJsELement; 10 }, 11 _run( attr, id ) { 12 const getLottieElement = UAGBLottie.getElement( id ); 13 if( ! getLottieElement ){ 14 return; 15 } 16 17 const animation = bodymovin.loadAnimation( { 18 container: getLottieElement, 19 renderer: 'svg', 20 loop: attr.loop, 21 autoplay: 'none' === attr.playOn ? true : false, 22 path: attr.lottieURl, 23 rendererSettings: { 24 preserveAspectRatio: 'xMidYMid', 25 className: 'uagb-lottie-inner-wrap', 26 }, 27 } ); 28 29 animation.setSpeed( attr.speed ); 30 31 const reversedir = attr.reverse && attr.loop ? -1 : 1; 32 33 animation.setDirection( reversedir ); 34 35 if ( 'hover' === attr.playOn ) { 36 getLottieElement.addEventListener( 'mouseenter', function () { 37 animation.play(); 38 } ); 39 getLottieElement.addEventListener( 'mouseleave', function () { 40 animation.stop(); 41 } ); 42 } else if ( 'click' === attr.playOn ) { 43 getLottieElement.addEventListener( 'click', function () { 44 animation.stop(); 45 animation.play(); 46 } ); 47 } else if ( 'scroll' === attr.playOn ) { 48 window.addEventListener( 'scroll', function () { 49 animation.stop(); 50 animation.play(); 51 } ); 52 } 53 }, 54};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.