1(function ( $ ) { 2 'use strict'; 3 4 $( window ).on( 5 'load', 6 function () { 7 for ( var key in qodefCore.shortcodes ) { 8 for ( var keyChild in qodefCore.shortcodes[key] ) { 9 qodefElementor.init( 10 key, 11 keyChild 12 ); 13 } 14 } 15 qodefElementorSection.init(); 16 elementorSection.init(); 17 } 18 ); 19 20 $( window ).on( 21 'elementor/frontend/init', 22 function () { 23 elementorFrontend.hooks.addAction( 24 'frontend/element_ready/global', 25 function ( $currentItem ) { 26 var $appear = $currentItem.find( '.qodef--has-appear' ); 27 28 if ( $appear.length ) { 29 $appear.each( 30 function () { 31 qodef.qodefAppear.initItem( $( this ) ); 32 } 33 ); 34 } 35 } 36 ); 37 } 38 ); 39 40 var qodefElementor = { 41 init: function ( key, keyChild ) { 42 $( window ).on( 43 'elementor/frontend/init', 44 function ( e ) { 45 elementorFrontend.hooks.addAction( 46 'frontend/element_ready/' + key + '.default', 47 function ( e ) { 48 // Check if object doesn't exist and print the module where is the error 49 if ( typeof qodefCore.shortcodes[key][keyChild] === 'undefined' ) { 50 console.log( keyChild ); 51 } 52 53 qodefCore.shortcodes[key][keyChild].init(); 54 } 55 ); 56 57 qodef.qodefAppear.init(); 58 } 59 ); 60 } 61 }; 62 63 var qodefElementorSection = { 64 init: function () { 65 $( window ).on( 66 'elementor/frontend/init', 67 function () { 68 elementorFrontend.hooks.addAction( 69 'frontend/element_ready/section', 70 elementorSection.init 71 ); 72 } 73 ); 74 } 75 }; 76 77 var elementorSection = { 78 init: function ( $scope ) { 79 var $target = $scope, 80 isEditMode = Boolean( elementorFrontend.isEditMode() ), 81 settings = [], 82 sectionData = {}; 83 84 //generate parallax settings 85 if ( isEditMode && typeof $scope !== 'undefined' ) { 86 87 // generate options when in admin 88 var editorElements = window.elementor.elements, 89 sectionId = $target.data( 'id' ); 90 91 $.each( 92 editorElements.models, 93 function ( index, object ) { 94 if ( sectionId === object.id ) { 95 sectionData = object.attributes.settings.attributes; 96 } 97 } 98 ); 99 100 //parallax options 101 if ( typeof sectionData.qodef_parallax_type !== 'undefined' ) { 102 settings['enable_parallax'] = sectionData.qodef_parallax_type; 103 } 104 105 if ( typeof sectionData.qodef_parallax_image !== 'undefined' && sectionData.qodef_parallax_image['url'] ) { 106 settings['parallax_image_url'] = sectionData.qodef_parallax_image['url']; 107 } 108 109 //offset options 110 if ( typeof sectionData.qodef_offset_type !== 'undefined' ) { 111 settings['enable_offset'] = sectionData.qodef_offset_type; 112 } 113 114 if ( typeof sectionData.qodef_offset_image !== 'undefined' && sectionData.qodef_offset_image['url'] ) { 115 settings['offset_image_url'] = sectionData.qodef_offset_image['url']; 116 } 117 118 if ( typeof sectionData.qodef_offset_top !== 'undefined' ) { 119 settings['offset_top'] = sectionData.qodef_offset_top; 120 } 121 122 if ( typeof sectionData.qodef_offset_left !== 'undefined' ) { 123 settings['offset_left'] = sectionData.qodef_offset_left; 124 } 125 126 //generate output backend 127 if ( typeof $target !== 'undefined' ) { 128 elementorSection.generateOutput( 129 $target, 130 settings 131 ); 132 } 133 } else { 134 135 // generate options when in frontend using global js variable 136 var sectionHandlerData = qodefElementorGlobal.vars.elementorSectionHandler; 137 138 $.each( 139 sectionHandlerData, 140 function ( index, properties ) { 141 142 properties.forEach( function ( property ) { 143 144 if ( typeof property['parallax_type'] !== 'undefined' && property['parallax_type'] === 'parallax' ) { 145 146 $target = $( '[data-id="' + index + '"]' ); 147 settings['parallax_type'] = property['parallax_type']; 148 settings['parallax_image_url'] = property['parallax_image']['url']; 149 150 if ( typeof settings['parallax_image_url'] !== 'undefined' ) { 151 settings['enable_parallax'] = 'parallax'; 152 } 153 } 154 155 if ( typeof property['offset_type'] !== 'undefined' && property['offset_type'] === 'offset' ) { 156 157 $target = $( '[data-id="' + index + '"]' ); 158 settings['offset_type'] = property['offset_type']; 159 settings['offset_image_url'] = property['offset_image']['url']; 160 settings['offset_top'] = property['offset_top']; 161 settings['offset_left'] = property['offset_left']; 162 163 if ( typeof settings['offset_image_url'] !== 'undefined' ) { 164 settings['enable_offset'] = 'offset'; 165 } 166 } 167 168 //generate output frontend 169 if ( typeof $target !== 'undefined' ) { 170 elementorSection.generateOutput( 171 $target, 172 settings 173 ); 174 175 settings = []; 176 } 177 } ); 178 } 179 ); 180 } 181 }, 182 generateOutput: function ( $target, settings ) { 183 184 if ( typeof settings['enable_parallax'] !== 'undefined' && settings['enable_parallax'] === 'parallax' && typeof settings['parallax_image_url'] !== 'undefined' ) { 185 186 $( 187 '.qodef-parallax-row-holder', 188 $target 189 ).remove(); 190 $target.removeClass( 'qodef-parallax qodef--parallax-row' ); 191 192 var $layout = null; 193 194 $target.addClass( 'qodef-parallax qodef--parallax-row' ); 195 196 $layout = $( '<div class="qodef-parallax-row-holder"><div class="qodef-parallax-img-holder"><div class="qodef-parallax-img-wrapper"><img class="qodef-parallax-img" src="' + settings['parallax_image_url'] + '" alt="Parallax Image"></div></div></div>' ).prependTo( $target ); 197 198 // wait for image src to be loaded 199 var newImg = new Image; 200 newImg.onload = function () {
201 $target.find( 'img.qodef-parallax-img' ).attr( 202 'src', 203 this.src 204 ); 205 qodefCore.qodefParallaxBackground.init(); 206 }; 207 newImg.src = settings['parallax_image_url']; 208 } 209 210 if ( typeof settings['enable_offset'] !== 'undefined' && settings['enable_offset'] === 'offset' && typeof settings['offset_image_url'] !== 'undefined' ) { 211 212 $( 213 '.qodef-offset-image-holder', 214 $target 215 ).remove(); 216 $target.removeClass( 'qodef-offset-image' ); 217 218 var $layout = null; 219 220 $target.addClass( 'qodef-offset-image' ); 221 222 $layout = $( '<div class="qodef-offset-image-holder" style="position: absolute; z-index: 5; top:' + settings['offset_top'] + '; left:' + settings['offset_left'] + '"><div class="qodef-offset-image-wrapper"><img src="' + settings['offset_image_url'] + '" alt="Offset Image"></div></div>' ).prependTo( $target ); 223 } 224 } 225 }; 226 227})( jQuery );
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.