1jQuery( window ).on( 'elementor/frontend/init', function() { 2 3 // Extend elementor frontend handlers base. 4 class XtraElementor extends elementorModules.frontend.handlers.Base { 5 6 onInit( name, event ) { 7 this.onElementChange( '', this.getWidgetType() ); 8 }; 9 10 // On element changes. 11 onElementChange( name, event ) { 12 13 // Get widget name. 14 var widget = name ? event._parent.model.attributes.widgetType : event; 15 16 // Check XTRA widget. 17 if ( widget && widget.indexOf( 'cz_' ) == 0 && name.indexOf( 'sk_' ) < 0 ) { 18 19 // Replace prefix. 20 widget = widget.replace( 'cz_', '' ); 21 22 //if ( widget === '360_degree' ) { 23 // widget = 'r360degree'; 24 //} 25 26 // re-init codevz function. 27 setTimeout( function() { 28 29 typeof Codevz_Plus.css != 'undefined' && Codevz_Plus.css(); 30 typeof Codevz_Plus[ widget ] != 'undefined' && Codevz_Plus[ widget ](); 31 typeof Codevz_Plus.parallax != 'undefined' && Codevz_Plus.parallax(); 32 typeof Codevz_Plus.tilt != 'undefined' && Codevz_Plus.tilt(); 33 34 }, 150 ); 35 36 } 37 38 } 39 40 } 41 42 // Enable live changes on elements. 43 if ( elementorFrontend && elementorFrontend.hooks ) { 44 elementorFrontend.hooks.addAction( 'frontend/element_ready/widget', function( $element ) { 45 elementorFrontend.elementsHandler.addHandler( XtraElementor, { $element } ); 46 } ); 47 } 48 49}); 50 51// Live widget tilt. 52function xtraElementorTilt( settings ) { 53 54 var tilt = ''; 55 56 if ( settings.tilt ) { 57 58 tilt = ' data-tilt'; 59 tilt = tilt + ( settings.glare ? ' data-tilt-maxGlare="' + settings.glare + '" data-tilt-glare="true"' : '' ); 60 tilt = tilt + ( settings.scale ? ' data-tilt-scale="' + settings.scale + '"' : '' ); 61 62 } 63 64 return tilt; 65 66} 67 68// Live widget parallax. 69function xtraElementorParallax( settings, close ) { 70 71 var html = ''; 72 73 if ( close ) { 74 75 if ( pm ) { 76 html += '</div>'; 77 } 78 79 if ( ph ) { 80 html += '</div>'; 81 } 82 83 } else { 84 85 // Parallax. 86 var ph = settings.parallax ? settings.parallax : '', 87 pp = settings.parallax_speed ? settings.parallax_speed : '', 88 pp = pp + ( settings.parallax_stop ? ' cz_parallax_stop' : '' ), 89 pm = settings.mouse_speed && ph.includes( 'mouse' ); 90 91 if ( pm ) { 92 html += '<div class="cz_mparallax_' + settings.mouse_speed + '">'; 93 } 94 95 if ( ph ) { 96 97 var d = ( ph == 'true' || ph === 'truemouse' ) ? 'h' : 'v'; 98 html += '<div class="clr cz_parallax_' + d + '_' + pp + '">'; 99 100 } 101 102 } 103 104 return html; 105 106}
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.