1var woodmartThemeModule = {}; 2/* global woodmart_settings */ 3 4(function($) { 5 woodmartThemeModule.supports_html5_storage = false; 6 7 try { 8 woodmartThemeModule.supports_html5_storage = ('sessionStorage' in window && window.sessionStorage !== null); 9 window.sessionStorage.setItem('wd', 'test'); 10 window.sessionStorage.removeItem('wd'); 11 } 12 catch (err) { 13 woodmartThemeModule.supports_html5_storage = false; 14 } 15 16 woodmartThemeModule.$window = $(window); 17 18 woodmartThemeModule.$document = $(document); 19 20 woodmartThemeModule.$body = $('body'); 21 22 woodmartThemeModule.windowWidth = woodmartThemeModule.$window.width(); 23 24 woodmartThemeModule.removeURLParameter = function(url, parameter) { 25 var urlParts = url.split('?'); 26 27 if (urlParts.length >= 2) { 28 var prefix = encodeURIComponent(parameter) + '='; 29 var pars = urlParts[1].split(/[&;]/g); 30 31 for (var i = pars.length; i-- > 0;) { 32 if (pars[i].lastIndexOf(prefix, 0) !== -1) { 33 pars.splice(i, 1); 34 } 35 } 36 37 return urlParts[0] + (pars.length > 0 ? '?' + pars.join('&') : ''); 38 } 39 40 return url; 41 }; 42 43 woodmartThemeModule.removeDuplicatedStylesFromHTML = function(html, callback) { 44 var $data = $('<div class="temp-wrapper"></div>').append(html); 45 var $links = $data.find('link'); 46 var counter = 0; 47 var timeout = false; 48 49 if (0 === $links.length) { 50 callback(html); 51 return; 52 } 53 54 setTimeout(function() { 55 if (counter <= $links.length && !timeout) { 56 callback($($data.html())); 57 timeout = true; 58 } 59 }, 500); 60 61 $links.each(function() { 62 if ( 'undefined' !== typeof $(this).attr('id') && $(this).attr('id').indexOf('theme_settings_') !== -1) { 63 $('head').find('link[id*="theme_settings_"]:not([id*="theme_settings_default"])').remove(); 64 } 65 }); 66 67 $links.each(function() { 68 var $link = $(this); 69 var id = $link.attr('id'); 70 var href = $link.attr('href'); 71 72 if ( 'undefined' === typeof id ) { 73 return; 74 } 75 76 var isThemeSettings = id.indexOf('theme_settings_') !== -1; 77 var isThemeSettingsDefault = id.indexOf('theme_settings_default') !== -1; 78 79 $link.remove(); 80 81 if ('undefined' === typeof woodmart_page_css[id] && ! isThemeSettingsDefault) { 82 $('head').append($link.on('load', function() { 83 counter++; 84 85 if (!isThemeSettings) { 86 woodmart_page_css[id] = href; 87 } 88 89 if (counter >= $links.length && !timeout) { 90 callback($($data.html())); 91 timeout = true; 92 } 93 })); 94 } else { 95 counter++; 96 97 if (counter >= $links.length && !timeout) { 98 callback($($data.html())); 99 timeout = true; 100 } 101 } 102 }); 103 }; 104 105 woodmartThemeModule.debounce = function(func, wait, immediate) { 106 var timeout; 107 return function() { 108 var context = this; 109 var args = arguments; 110 var later = function() { 111 timeout = null; 112 113 if (!immediate) { 114 func.apply(context, args); 115 } 116 }; 117 var callNow = immediate && !timeout; 118 119 clearTimeout(timeout); 120 timeout = setTimeout(later, wait); 121 122 if (callNow) { 123 func.apply(context, args); 124 } 125 }; 126 }; 127 128 woodmartThemeModule.wdElementorAddAction = function(name, callback) { 129 woodmartThemeModule.$window.on('elementor/frontend/init', function() { 130 if (!elementorFrontend.isEditMode()) { 131 return; 132 } 133 134 elementorFrontend.hooks.addAction(name, callback); 135 }); 136 }; 137 138 woodmartThemeModule.wdElementorAddAction('frontend/element_ready/global', function($wrapper) { 139 if ($wrapper.attr('style') && $wrapper.attr('style').indexOf('transform:translate3d') === 0 && !$wrapper.hasClass('wd-parallax-on-scroll')) { 140 $wrapper.attr('style', ''); 141 } 142 $wrapper.removeClass('wd-animated'); 143 $wrapper.data('wd-waypoint', ''); 144 $wrapper.removeClass('wd-anim-ready'); 145 woodmartThemeModule.$document.trigger('wdElementorGlobalReady'); 146 }); 147 148 $.each([ 149 'frontend/element_ready/column', 150 'frontend/element_ready/container' 151 ], function(index, value) { 152 woodmartThemeModule.wdElementorAddAction(value, function($wrapper) { 153 if ($wrapper.attr('style') && $wrapper.attr('style').indexOf('transform:translate3d') === 0 && !$wrapper.hasClass('wd-parallax-on-scroll')) { 154 $wrapper.attr('style', ''); 155 } 156 $wrapper.removeClass('wd-animated'); 157 $wrapper.data('wd-waypoint', ''); 158 $wrapper.removeClass('wd-anim-ready'); 159 160 setTimeout(function() { 161 woodmartThemeModule.$document.trigger('wdElementorColumnReady'); 162 }, 100); 163 }); 164 }); 165 166 woodmartThemeModule.setupMainCarouselArg = function() { 167 woodmartThemeModule.$mainCarouselWrapper = $('.woocommerce-product-gallery'); 168 var items = 1; 169 170 if ( woodmartThemeModule.$mainCarouselWrapper.hasClass('thumbs-position-centered') || woodmartThemeModule.$mainCarouselWrapper.hasClass('thumbs-position-carousel_two_columns') ) { 171 items = 2; 172 } 173
174 woodmartThemeModule.mainCarouselArg = { 175 rtl : woodmartThemeModule.$body.hasClass('rtl'), 176 items : items, 177 autoplay : woodmart_settings.product_slider_autoplay, 178 autoplayTimeout: 3000, 179 loop : woodmart_settings.product_slider_autoplay, 180 center : woodmartThemeModule.$mainCarouselWrapper.hasClass('thumbs-position-centered'), 181 startPosition : woodmartThemeModule.$mainCarouselWrapper.hasClass('thumbs-position-centered') ? woodmart_settings.centered_gallery_start : 0, 182 dots : 'yes' === woodmart_settings.product_slider_dots || woodmartThemeModule.$mainCarouselWrapper.find('.woocommerce-product-gallery__wrapper').data('hide_pagination_control') && 'yes' !== woodmartThemeModule.$mainCarouselWrapper.find('.woocommerce-product-gallery__wrapper').data('hide_pagination_control'), 183 nav : true, 184 autoHeight : woodmart_settings.product_slider_auto_height === 'yes', 185 navText : false, 186 navClass : [ 187 'owl-prev wd-btn-arrow', 188 'owl-next wd-btn-arrow' 189 ] 190 }; 191 } 192 193 woodmartThemeModule.shopLoadMoreBtn = '.wd-products-load-more.load-on-scroll'; 194 195 woodmartThemeModule.$window.on('elementor/frontend/init', function() { 196 if (!elementorFrontend.isEditMode()) { 197 return; 198 } 199 200 if ('enabled' === woodmart_settings.elementor_no_gap) { 201 $.each([ 202 'frontend/element_ready/section', 203 'frontend/element_ready/container' 204 ], function(index, value) { 205 woodmartThemeModule.wdElementorAddAction(value, function($wrapper) { 206 if ($wrapper.attr('style') && $wrapper.attr('style').indexOf('transform:translate3d') === 0 && !$wrapper.hasClass('wd-parallax-on-scroll')) { 207 $wrapper.attr('style', ''); 208 } 209 210 $wrapper.removeClass('wd-animated'); 211 $wrapper.data('wd-waypoint', ''); 212 $wrapper.removeClass('wd-anim-ready'); 213 woodmartThemeModule.$document.trigger('wdElementorSectionReady'); 214 }); 215 216 elementorFrontend.hooks.addAction(value, function($wrapper) { 217 var cid = $wrapper.data('model-cid'); 218 219 if (typeof elementorFrontend.config.elements.data[cid] !== 'undefined') { 220 var size = ''; 221 222 if ('undefined' !== typeof elementorFrontend.config.elements.data[cid].attributes.elType) { 223 if ('container' === elementorFrontend.config.elements.data[cid].attributes.elType) { 224 size = elementorFrontend.config.elements.data[cid].attributes.boxed_width.size; 225 } else if ('section' === elementorFrontend.config.elements.data[cid].attributes.elType) { 226 size = elementorFrontend.config.elements.data[cid].attributes.content_width.size; 227 } 228 } 229 230 if (!size) { 231 $wrapper.addClass('wd-negative-gap'); 232 } 233 } 234 }); 235 }); 236 237 elementor.channels.editor.on('change:section change:container', function(view) { 238 var changed = view.elementSettingsModel.changed; 239 if (typeof changed.content_width !== 'undefined' || typeof changed.boxed_width !== 'undefined') { 240 var size = []; 241 242 if ( typeof changed.content_width !== 'undefined' ) { 243 size = changed.content_width.size; 244 } else if ( typeof changed.boxed_width !== 'undefined' ) { 245 size = changed.boxed_width.size 246 } 247 248 var sectionId = view._parent.model.id; 249 var $section = $('.elementor-element-' + sectionId); 250 251 if (size) { 252 $section.removeClass('wd-negative-gap'); 253 } else { 254 $section.addClass('wd-negative-gap'); 255 } 256 } 257 }); 258 } 259 }); 260 261 woodmartThemeModule.$window.on('load', function() { 262 $('.wd-preloader').delay(parseInt(woodmart_settings.preloader_delay)).addClass('preloader-hide'); 263 $('.wd-preloader-style').remove(); 264 setTimeout(function() { 265 $('.wd-preloader').remove(); 266 }, 200); 267 }); 268 269 woodmartThemeModule.googleMapsCallback = function () { 270 return ''; 271 }; 272})(jQuery); 273 274window.onload = function() { 275 var events = [ 276 'keydown', 277 'scroll', 278 'mouseover', 279 'touchmove', 280 'touchstart', 281 'mousedown', 282 'mousemove' 283 ]; 284 285 var triggerListener = function(e) { 286 jQuery(window).trigger('wdEventStarted'); 287 removeListener(); 288 }; 289 290 var removeListener = function() {
291 events.forEach(function(eventName) { 292 window.removeEventListener(eventName, triggerListener); 293 }); 294 }; 295 296 var addListener = function(eventName) { 297 window.addEventListener(eventName, triggerListener); 298 }; 299 300 events.forEach(function(eventName) { 301 addListener(eventName); 302 }); 303};
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.