PageSourceSearch

https://www.blackpods.net/wp-content/themes/woodmart/js/scripts/global/helpers.js?ver=6.1.4

js blackpods.net collected 2026-09-26 00:52:53 UTC 7,421 bytes, 249 lines download raw bytes

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 || 'yes' === woodmart_settings.combined_css) {
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			var $link = $(this);
63			var id = $link.attr('id');
64			var href = $link.attr('href');
65
66			$link.remove();
67
68			if ('undefined' === typeof woodmart_page_css[id]) {
69				$('head').append($link.on('load', function() {
70					counter++;
71
72					woodmart_page_css[id] = href;
73
74					if (counter >= $links.length && !timeout) {
75						callback($($data.html()));
76						timeout = true;
77					}
78				}));
79			} else {
80				counter++;
81
82				if (counter >= $links.length && !timeout) {
83					callback($($data.html()));
84					timeout = true;
85				}
86			}
87		});
88	};
89
90	woodmartThemeModule.debounce = function(func, wait, immediate) {
91		var timeout;
92		return function() {
93			var context = this;
94			var args = arguments;
95			var later = function() {
96				timeout = null;
97
98				if (!immediate) {
99					func.apply(context, args);
100				}
101			};
102			var callNow = immediate && !timeout;
103
104			clearTimeout(timeout);
105			timeout = setTimeout(later, wait);
106
107			if (callNow) {
108				func.apply(context, args);
109			}
110		};
111	};
112
113	woodmartThemeModule.wdElementorAddAction = function(name, callback) {
114		woodmartThemeModule.$window.on('elementor/frontend/init', function() {
115			if (!elementorFrontend.isEditMode()) {
116				return;
117			}
118
119			elementorFrontend.hooks.addAction(name, callback);
120		});
121	};
122
123	woodmartThemeModule.wdElementorAddAction('frontend/element_ready/section', function($wrapper) {
124		$wrapper.removeClass('wd-animated');
125		$wrapper.data('wd-waypoint', '');
126		$wrapper.removeClass('wd-anim-ready');
127		woodmartThemeModule.$document.trigger('wdElementorSectionReady');
128	});
129
130	woodmartThemeModule.wdElementorAddAction('frontend/element_ready/global', function($wrapper) {
131		if ($wrapper.attr('style') && $wrapper.attr('style').indexOf('transform:translate3d') === 0 && !$wrapper.hasClass('wd-parallax-on-scroll')) {
132			$wrapper.attr('style', '');
133		}
134		$wrapper.removeClass('wd-animated');
135		$wrapper.data('wd-waypoint', '');
136		$wrapper.removeClass('wd-anim-ready');
137		woodmartThemeModule.$document.trigger('wdElementorGlobalReady');
138	});
139
140	woodmartThemeModule.wdElementorAddAction('frontend/element_ready/column', function($wrapper) {
141		if ($wrapper.attr('style') && $wrapper.attr('style').indexOf('transform:translate3d') === 0 && !$wrapper.hasClass('wd-parallax-on-scroll')) {
142			$wrapper.attr('style', '');
143		}
144		$wrapper.removeClass('wd-animated');
145		$wrapper.data('wd-waypoint', '');
146		$wrapper.removeClass('wd-anim-ready');
147
148		setTimeout(function() {
149			woodmartThemeModule.$document.trigger('wdElementorColumnReady');
150		}, 100);
151	});
152
153	woodmartThemeModule.ajaxLinks = '.wd-nav-product-cat a, .widget_product_categories a, .widget_layered_nav_filters a, .woocommerce-widget-layered-nav a, .filters-area:not(.custom-content) a, body.post-type-archive-product:not(.woocommerce-account) .woocommerce-pagination a, body.tax-product_cat:not(.woocommerce-account) .woocommerce-pagination a, .wd-shop-tools a, .woodmart-woocommerce-layered-nav a, .woodmart-price-filter a, .wd-clear-filters a, .woodmart-woocommerce-sort-by a, .woocommerce-widget-layered-nav-list a, .wd-widget-stock-status a';
154
155	woodmartThemeModule.shopLoadMoreBtn = '.wd-products-load-more.load-on-scroll';
156
157	woodmartThemeModule.mainCarouselArg = {
158		rtl            : woodmartThemeModule.$body.hasClass('rtl'),
159		items          : woodmart_settings.product_gallery.thumbs_slider.position === 'centered' ? 2 : 1,
160		autoplay       : woodmart_settings.product_slider_autoplay,
161		autoplayTimeout: 3000,
162		loop           : woodmart_settings.product_slider_autoplay,
163		center         : woodmart_settings.product_gallery.thumbs_slider.position === 'centered',
164		startPosition  : woodmart_settings.product_gallery.thumbs_slider.position === 'centered' ? woodmart_settings.centered_gallery_start : 0,
165		dots           : false,
166		nav            : true,
167		autoHeight     : woodmart_settings.product_slider_auto_height === 'yes',
168		navText        : false,
169		navClass       : [
170			'owl-prev wd-btn-arrow',
171			'owl-next wd-btn-arrow'
172		]
173	};
174
175	woodmartThemeModule.$window.on('elementor/frontend/init', function() {
176		if (!elementorFrontend.isEditMode()) {
177			return;
178		}
179
180		if ('enabled' === woodmart_settings.elementor_no_gap) {
181			elementorFrontend.hooks.addAction('frontend/element_ready/section', function($wrapper) {
182				var cid = $wrapper.data('model-cid');
183
184				if (typeof elementorFrontend.config.elements.data[cid] !== 'undefined') {
185					var size = elementorFrontend.config.elements.data[cid].attributes.content_width.size;
186
187					if (!size) {
188						$wrapper.addClass('wd-negative-gap');
189					}
190				}
191			});
192
193			elementor.channels.editor.on('change:section', function(view) {
194				var changed = view.elementSettingsModel.changed;
195
196				if (typeof changed.content_width !== 'undefined') {
197					var sectionId = view._parent.model.id;
198					var $section = $('.elementor-element-' + sectionId);
199					var size = changed.content_width.size;
200
201					if (size) {
202						$section.removeClass('wd-negative-gap');
203					} else {
204						$section.addClass('wd-negative-gap');
205					}
206				}
207			});
208		}
209	});
210
211	woodmartThemeModule.$window.on('load', function() {
212		$('.wd-preloader').delay(parseInt(woodmart_settings.preloader_delay)).addClass('preloader-hide');
213		$('.wd-preloader-style').remove();
214		setTimeout(function() {
215			$('.wd-preloader').remove();
216		}, 200);
217	});
218})(jQuery);
219
220window.onload = function() {
221	var events = [
222		'keydown',
223		'scroll',
224		'mouseover',
225		'touchmove',
226		'touchstart',
227		'mousedown',
228		'mousemove'
229	];
230
231	var triggerListener = function(e) {
232		jQuery(window).trigger('wdEventStarted');
233		removeListener();
234	};
235
236	var removeListener = function() {
237		events.forEach(function(eventName) {
238			window.removeEventListener(eventName, triggerListener);
239		});
240	};
241
242	var addListener = function(eventName) {
243		window.addEventListener(eventName, triggerListener);
244	};
245
246	events.forEach(function(eventName) {
247		addListener(eventName);
248	});
249};

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.