PageSourceSearch

https://europe-aliens.org/wp-content/plugins/wedesigntech-portfolio/assets/js/frontend.js?ver=7.1.2

js europe-aliens.org collected 2026-10-02 03:57:19 UTC 45,924 bytes, 1,256 lines download raw bytes

1var wdtPortfolioFrontendUtils = {
2
3	wdtPortfolioListingsListingIsotope : function($appended = false) {
4
5	    jQuery('.wdt-listings-item-apply-isotope .wdt-listings-item-container').each(function() {
6
7	    	var this_item = jQuery(this);
8
9	        var $grid = this_item.isotope({
10				itemSelector: '.wdt-column',
11				percentPosition: true,
12				masonry: {
13					columnWidth: '.grid-sizer'
14				}
15	        });
16
17            if($appended) {
18                $grid.isotope('reloadItems');
19            }
20
21			window.setTimeout(function(){
22				this_item.isotope();
23			}, 1400);
24
25	    });
26
27        jQuery('.wdt-listings-item-apply-isotope .wdt-listings-item-container').each(function() {
28
29	    	var this_item = jQuery(this);
30
31	        this_item.isotope();
32
33	    });
34
35	    jQuery('.wdt-listings-item-apply-isotope .wdt-listings-item-isotope-filter').each(function() {
36
37	    	var isotope_filter = jQuery(this);
38
39			isotope_filter.find('a').on('click', function() {
40
41				isotope_filter.find('a').removeClass('active-sort');
42				var selector = jQuery(this).attr('data-filter');
43				jQuery(this).addClass('active-sort');
44
45				jQuery(this).parents('.wdt-listings-item-apply-isotope').find('.wdt-listings-item-container').isotope({ filter: selector, masonry: {  }, animationEngine : 'jquery' });
46
47				return false;
48
49			});
50
51	    });
52
53
54	},
55
56	wdtPortfolioListingCarousel : function(output_container) {
57
58		var swiperGalleryListing = [];
59		var swiperGalleryListingOptions = [];
60		var swiperListingIterator = 1;
61
62		output_container.find('.wdt-listings-container').each(function() {
63
64			var $swiperItem = jQuery(this);
65			var swiperUniqueId = 'swiperuniqueid-'+swiperListingIterator;
66			swiperGalleryListingOptions[swiperUniqueId] = [];
67			$swiperItem.attr('id', swiperUniqueId);
68
69			// Get swiper options
70			var effect = output_container.attr('data-carouseleffect');
71
72			var autoplay = parseInt(output_container.attr('data-carouselautoplay'), 10);
73			var autoplay_enable = false;
74			if(autoplay > 0) {
75				autoplay_enable = true;
76				swiperGalleryListingOptions[swiperUniqueId]['autoplay'] = autoplay;
77			} else {
78				swiperGalleryListingOptions[swiperUniqueId]['autoplay'] = 0;
79			}
80
81			var slidesperview = parseInt(output_container.attr('data-carouselslidesperview'), 10);
82			var loopmode = (output_container.attr('data-carouselloopmode') == 'true') ? true : false;
83			var mousewheelcontrol = (output_container.attr('data-carouselmousewheelcontrol') == 'true') ? true : false;
84
85			var pagination_class = '';
86			var pagination_type = '';
87
88			if(output_container.attr('data-carouselbulletpagination') == 'true') {
89				var pagination_class = output_container.find('.wdt-swiper-bullet-pagination');
90				var pagination_type = 'bullets';
91			}
92
93			var spacebetween = parseInt(output_container.attr('data-carouselspacebetween'), 10);
94			if(spacebetween) {
95				spacebetween = spacebetween;
96			} else {
97				spacebetween = 0;
98			}
99
100			if(slidesperview == 1) {
101				var breakpoint_slides_1 = breakpoint_slides_2 = breakpoint_slides_3 = breakpoint_slides_4 = 1;
102			} else if(slidesperview == 2) {
103				var breakpoint_slides_1 = 2; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
104			} else if(slidesperview == 3) {
105				var breakpoint_slides_1 = 3; var breakpoint_slides_2 = 3; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
106			} else if(slidesperview >= 4) {
107				var breakpoint_slides_1 = 4; var breakpoint_slides_2 = 3; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
108			}
109
110			// Generate swiper
111		    swiperGalleryListing[swiperUniqueId] = new Swiper($swiperItem, {
112
113     			initialSlide: 0,
114                simulateTouch: true,
115                roundLengths: true,
116                spaceBetween: spacebetween,
117                keyboardControl: true,
118                paginationClickable: true,
119                autoHeight: true,
120
121                grabCursor: true,
122                autoplay: {
123                			enabled: autoplay_enable,
124						    delay: autoplay,
125						},
126                slidesPerView: slidesperview,
127                loop:loopmode,
128                mousewheel: mousewheelcontrol,
129
130				pagination: {
131					el: pagination_class,
132					type: pagination_type,
133					clickable: true,
134					renderFraction: function (currentClass, totalClass) {
135						return '<span class="' + currentClass + '"></span>' +
136								'<span class="wdt-separator"></span>' +
137								'<span class="' + totalClass + '"></span>';
138					}
139				},
140
141                effect: effect,
142				coverflowEffect: {
143					slideShadows: false,
144					rotate: 0,
145					stretch: 0,
146					depth: 200,
147					modifier: 1,
148				},
149		        cubeEffect: {
150		        	slideShadows: true,
151		            shadow: true,
152		            shadowOffset: 20,
153		            shadowScale: 0.94
154		        },
155
156		        breakpoints: {
157		            0: {
158		                slidesPerView: breakpoint_slides_4,
159		            },
160		            768: {
161		                slidesPerView: breakpoint_slides_3,
162		            },
163		            1025: {
164		                slidesPerView: breakpoint_slides_2,
165		            },
166		            1280: {
167		                slidesPerView: breakpoint_slides_1,
168		            }
169		        },
170
171		    });
172
173		    if(output_container.attr('data-carouselarrowpagination') == 'true') {
174
175			    output_container.find('.wdt-swiper-pagination-holder .wdt-swiper-arrow-pagination .wdt-swiper-arrow-prev').on('click', function(e) {
176					var swiperUniqueId = $swiperItem.attr('id');
177			        swiperGalleryListing[swiperUniqueId].slidePrev();
178			        if(swiperGalleryListingOptions[swiperUniqueId]['autoplay'] > 0) {
179			        	swiperGalleryListing[swiperUniqueId].autoplay.start();
180			        }
181			        e.preventDefault();
182			    });
183
184			    output_container.find('.wdt-swiper-pagination-holder .wdt-swiper-arrow-pagination .wdt-swiper-arrow-next').on('click', function(e) {
185			    	var swiperUniqueId = $swiperItem.attr('id');
186			        swiperGalleryListing[swiperUniqueId].slideNext();
187			        if(swiperGalleryListingOptions[swiperUniqueId]['autoplay'] > 0 ) {
188			        	swiperGalleryListing[swiperUniqueId].autoplay.start();
189			        }
190			        e.preventDefault();
191			    });
192
193			}
194
195		    swiperListingIterator++;
196
197		});
198
199	},
200
201	wdtPortfolioFilterOptions : function() {
202
203		// Keyword
204		var keyword = jQuery('.wdt-sf-keyword').val();
205
206    	// Location
207		var user_latitude = jQuery('.wdt-sf-location-latitude').val();
208		var user_longitude = jQuery('.wdt-sf-location-longitude').val();
209
210		var radius = radius_unit = '';
211		if(user_latitude != '' && user_latitude != '') {
212			if(jQuery('.wdt-sf-radius').length > 0 && jQuery('.wdt-sf-radius-unit').length > 0) {
213				var radius      = jQuery('.wdt-sf-radius').val();
214				var radius_unit = jQuery('.wdt-sf-radius-unit').val();
215			} else if(jQuery('.wdt-sf-location-max-radius').length > 0 && jQuery('.wdt-sf-location-radius-unit').length > 0) {
216				var radius      = jQuery('.wdt-sf-location-max-radius').val();
217				var radius_unit = jQuery('.wdt-sf-location-radius-unit').val();
218			}
219		}
220
221		// Categories
222		var categories = jQuery('.wdt-sf-categories option:selected').map(function(){
223			if(this.value != '') {
224				return this.value;
225			}
226		}).get();
227		if(categories.length === 0) {
228			var categories = jQuery('.wdt-sf-categories:checked').map(function(){
229				if(this.value != '') {
230					return this.value;
231				}
232			}).get();
233		}
234
235		// Tags
236		var tags = jQuery('.wdt-sf-tags option:selected').map(function(){
237			if(this.value != '') {
238				return this.value;
239			}
240		}).get();
241		if(tags.length === 0) {
242			var tags = jQuery('.wdt-sf-tags:checked').map(function(){
243				if(this.value != '') {
244					return this.value;
245				}
246			}).get();
247		}
248
249		// Start Date
250		var startdate = jQuery('.wdt-sf-startdate').val();
251
252		// Price Range
253		var pricerange_start = jQuery('.wdt-sf-pricerange-start').val();
254		var pricerange_end = jQuery('.wdt-sf-pricerange-end').val();
255
256		// Features
257		var features_query = {};
258		var features_total_query = 0;
259		jQuery('.wdt-sf-features-field-holder').each(function () {
260
261			var field_type = jQuery(this).find('.wdt-sf-features-field-type').val();
262
263			var tab_id = jQuery(this).find('.wdt-sf-features-tab-id').val();
264
265			var features_item_data = {};
266
267			features_item_data['field_type'] = field_type;
268
269			if(field_type == 'dropdown' || field_type == 'list') {
270
271				var item_values = jQuery(this).find('.wdt-sf-features option:selected').map(function(){
272					if(this.value != '') {
273						return this.value;
274					}
275				}).get();
276				if(item_values.length === 0) {
277					var item_values = jQuery(this).find('.wdt-sf-features:checked').map(function(){
278						if(this.value != '') {
279							return this.value;
280						}
281					}).get();
282				}
283
284				features_item_data['item_values'] = item_values;
285
286				if(item_values.length != 0) {
287					features_total_query = features_total_query + 1;
288				}
289
290			} else if(field_type == 'range') {
291
292				var start = jQuery(this).find('.wdt-sf-features-start').val();
293				var end = jQuery(this).find('.wdt-sf-features-end').val();
294
295				features_item_data['start'] = start;
296				features_item_data['end'] = end;
297
298				features_total_query = features_total_query + 1;
299
300			}
301
302			features_query[tab_id] = features_item_data;
303
304		});
305
306
307		// Order By
308		var orderby = jQuery('.wdt-sf-orderby option:selected').val();
309		if(orderby === undefined) {
310			var orderby = jQuery('.wdt-sf-orderby-list a.active').attr('data-itemvalue');
311		}
312
313		// MLS Number
314		var mls_number = jQuery('.wdt-sf-mls-number').val();
315
316		// Others
317		var others = jQuery('.wdt-sf-others-list-item.active').map(function(){
318			if(jQuery(this).attr('data-itemvalue') != '') {
319				return jQuery(this).attr('data-itemvalue');
320			}
321		}).get();
322
323
324		// Radius
325
326		if(jQuery.inArray( 'nearby', others ) > -1) {
327
328			if((radius == '' && radius_unit == '') || (radius == undefined && radius_unit == undefined)) {
329				var radius = jQuery('.wdt-sf-location-max-radius').val();
330				var radius_unit = jQuery('.wdt-sf-location-radius-unit').val();
331			}
332
333			if(radius == undefined && radius_unit == undefined) {
334				var radius = 100;
335				var radius_unit = 'km';
336			}
337
338		}
339
340		var use_radius = '';
341		if((radius != '' && radius_unit != '') && (radius != undefined && radius_unit != undefined)) {
342			var use_radius = 'true';
343		}
344
345
346		// Create array
347		var filter_data = {};
348		filter_data['keyword']              = keyword;
349		filter_data['user_latitude']        = user_latitude;
350		filter_data['user_longitude']       = user_longitude;
351		filter_data['use_radius']           = use_radius;
352		filter_data['radius']               = radius;
353		filter_data['radius_unit']          = radius_unit;
354		filter_data['categories']           = categories;
355		filter_data['tags']                 = tags;
356		filter_data['startdate']            = startdate;
357		filter_data['pricerange_start']     = pricerange_start;
358		filter_data['pricerange_end']       = pricerange_end;
359		filter_data['features_query']       = features_query;
360		filter_data['features_total_query'] = features_total_query;
361		filter_data['orderby']              = orderby;
362		filter_data['mls_number']           = mls_number;
363		filter_data['others']               = others;
364
365		return filter_data;
366
367	},
368
369	wdtPortfolioLoadDataOutput : function(output_container) {
370
371		var load_data = load_map = 'false';
372
373		if(output_container == undefined) {
374
375			var output_container = map_output_container = '';
376			if(jQuery('.wdt-listing-output-data-container.wdt-search-list-items').length) {
377				var output_container = jQuery('.wdt-listing-output-data-container.wdt-search-list-items');
378				load_data = 'true';
379			}
380
381			if(jQuery('.wdt-listing-output-map-container.wdt-search-list-items').length) {
382				var map_output_container = jQuery('.wdt-listing-output-map-container.wdt-search-list-items');
383				load_map = 'true';
384			}
385
386			if(load_data == 'false' && load_map == 'false') {
387				alert(wdtfrontendobject.outputDivAlert);
388				return;
389			}
390
391		} else {
392
393			if(output_container.hasClass('wdt-listing-output-data-container')) {
394				load_data = 'true';
395			} else if(output_container.hasClass('wdt-listing-output-map-container')) {
396				var map_output_container = output_container;
397				output_container = '';
398				load_map = 'true';
399			}
400
401		}
402
403		if(load_data == 'true') {
404			var parent_item = output_container;
405		} else if(load_map == 'true') {
406			var parent_item = map_output_container;
407		}
408
409		// Default options
410
411		var enable_carousel = keyword = user_latitude = user_longitude = use_radius = radius = radius_unit = list_items = categories = tags = startdate = pricerange_start = pricerange_end = features_query = features_total_query = orderby = mls_number = others = '';
412
413		var type = gallery = post_per_page = columns = apply_isotope = excerpt_length = features_image_or_icon = features_include = no_of_cat_to_display = apply_equal_height = '';
414
415		var isotope_filter = apply_child_of = featured_items = custom_options = '';
416
417        var masonary_one_items = masonary_one_half_items = masonary_one_third_items = masonary_two_third_items = masonary_one_fourth_items = masonary_three_fourth_items = '';
418
419		if(load_data == 'true') {
420
421			type                   = output_container.find('.wdt-listing-output-data-holder').attr('data-type');
422			gallery                = output_container.find('.wdt-listing-output-data-holder').attr('data-gallery');
423			post_per_page          = output_container.find('.wdt-listing-output-data-holder').attr('data-postperpage');
424			columns                = output_container.find('.wdt-listing-output-data-holder').attr('data-columns');
425			apply_isotope          = output_container.find('.wdt-listing-output-data-holder').attr('data-applyisotope');
426			excerpt_length         = output_container.find('.wdt-listing-output-data-holder').attr('data-excerptlength');
427			features_image_or_icon = output_container.find('.wdt-listing-output-data-holder').attr('data-featuresimageoricon');
428			features_include       = output_container.find('.wdt-listing-output-data-holder').attr('data-featuresinclude');
429			no_of_cat_to_display   = output_container.find('.wdt-listing-output-data-holder').attr('data-noofcattodisplay');
430			apply_equal_height     = output_container.find('.wdt-listing-output-data-holder').attr('data-applyequalheight');
431			pagination_type        = output_container.find('.wdt-listing-output-data-holder').attr('data-paginationtype');
432
433			isotope_filter         = output_container.find('.wdt-listing-output-data-holder').attr('data-isotopefilter');
434			apply_child_of         = output_container.find('.wdt-listing-output-data-holder').attr('data-applychildof');
435			featured_items         = output_container.find('.wdt-listing-output-data-
435holder').attr('data-featureditems');
436			custom_options         = output_container.find('.wdt-listing-output-data-holder').attr('data-customoptions');
437
438		}
439
440		// Direct item listings
441
442		if((load_data == 'true' && output_container.hasClass('wdt-direct-list-items')) || (load_map == 'true' && map_output_container.hasClass('wdt-direct-list-items'))) {
443
444			var item_type = output_holder_type = '';
445			if(load_data == 'true') {
446				item_type = 'data';
447				output_holder_type = output_container;
448			} else if(load_map == 'true') {
449				item_type = 'map';
450				output_holder_type = map_output_container;
451			}
452
453			// Filters
454
455			var list_item_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-listitemids');
456			if(list_item_ids != undefined && list_item_ids != '') {
457				list_items = list_item_ids.split(',');
458			}
459
460			var category_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-categoryids');
461			if(category_ids != undefined && category_ids != '') {
462				categories = category_ids.split(',');
463			}
464
465			var tag_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-tagids');
466			if(tag_ids != undefined && tag_ids != '') {
467				tags = tag_ids.split(',');
468			}
469
470            // Masonary
471
472            var masonary_one_item_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-masonaryoneitems');
473			if(masonary_one_item_ids != undefined && masonary_one_item_ids != '') {
474				masonary_one_items = masonary_one_item_ids.split(',');
475			}
476
477            var masonary_one_half_item_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-masonaryonehalfitems');
478			if(masonary_one_half_item_ids != undefined && masonary_one_half_item_ids != '') {
479				masonary_one_half_items = masonary_one_half_item_ids.split(',');
480			}
481
482            var masonary_one_third_item_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-masonaryonethirditems');
483			if(masonary_one_third_item_ids != undefined && masonary_one_third_item_ids != '') {
484				masonary_one_third_items = masonary_one_third_item_ids.split(',');
485			}
486
487            var masonary_two_third_item_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-masonarytwothirditems');
488			if(masonary_two_third_item_ids != undefined && masonary_two_third_item_ids != '') {
489				masonary_two_third_items = masonary_two_third_item_ids.split(',');
490			}
491
492            var masonary_one_fourth_item_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-masonaryonefourthitems');
493			if(masonary_one_fourth_item_ids != undefined && masonary_one_fourth_item_ids != '') {
494				masonary_one_fourth_items = masonary_one_fourth_item_ids.split(',');
495			}
496
497            var masonary_three_fourth_item_ids = output_holder_type.find('.wdt-listing-output-'+item_type+'-holder').attr('data-masonarythreefourthitems');
498			if(masonary_three_fourth_item_ids != undefined && masonary_three_fourth_item_ids != '') {
499				masonary_three_fourth_items = masonary_three_fourth_item_ids.split(',');
500			}
501
502			// Carousel
503
504			var enable_carousel = output_holder_type.attr('data-enablecarousel');
505
506
507		} else {
508
509			// Filter options
510
511			var filter_data      = wdtPortfolioFrontendUtils.wdtPortfolioFilterOptions();
512			keyword              = filter_data.keyword;
513			user_latitude        = filter_data.user_latitude;
514			user_longitude       = filter_data.user_longitude;
515			use_radius           = filter_data.use_radius;
516			radius               = filter_data.radius;
517			radius_unit          = filter_data.radius_unit;
518			categories           = filter_data.categories;
519			tags                 = filter_data.tags;
520			startdate            = filter_data.startdate;
521			pricerange_start     = filter_data.pricerange_start;
522			pricerange_end       = filter_data.pricerange_end;
523			features_query       = filter_data.features_query;
524			features_total_query = filter_data.features_total_query;
525			orderby              = filter_data.orderby;
526			mls_number           = filter_data.mls_number;
527			others               = filter_data.others;
528
529			// Filter Option in Output Data Container
530			if(categories == '') {
531				if(load_data == 'true') {
532					var category_ids = output_container.find('.wdt-listing-output-data-
532holder').attr('data-categoryids');
533				} else if(load_map == 'true') {
534					var category_ids = map_output_container.find('.wdt-listing-output-map-holder').attr('data-categoryids');
535				}
536				if(category_ids != undefined && category_ids != '') {
537					categories = category_ids.split(',');
538				}
539			}
540
541		}
542
543		var data_apply_isotope = apply_isotope;
544		var data_load_map      = load_map;
545
546		jQuery.ajax({
547			type: "POST",
548			url: wdtfrontendobject.ajaxurl,
549			dataType: "JSON",
550			data:
551			{
552				action                : 'wdt_generate_load_search_data_ouput',
553				current_page          : 1,
554				offset                : 0,
555				type                  : type,
556				gallery               : gallery,
557				post_per_page         : post_per_page,
558				columns               : columns,
559				apply_isotope         : apply_isotope,
560				isotope_filter        : isotope_filter,
561				apply_child_of        : apply_child_of,
562				featured_items        : featured_items,
563				excerpt_length        : excerpt_length,
564				features_image_or_icon: features_image_or_icon,
565				features_include      : features_include,
566				no_of_cat_to_display  : no_of_cat_to_display,
567				apply_equal_height    : apply_equal_height,
568				pagination_type       : pagination_type,
569
570				custom_options        : custom_options,
571
572				keyword               : keyword,
573				user_latitude         : user_latitude,
574				user_longitude        : user_longitude,
575				use_radius            : use_radius,
576				radius                : radius,
577				radius_unit           : radius_unit,
578				list_items            : list_items,
579				categories            : categories,
580				tags                  : tags,
581
582                masonary_one_items         : masonary_one_items,
583                masonary_one_half_items    : masonary_one_half_items,
584                masonary_one_third_items   : masonary_one_third_items,
585                masonary_two_third_items   : masonary_two_third_items,
586                masonary_one_fourth_items  : masonary_one_fourth_items,
587                masonary_three_fourth_items: masonary_three_fourth_items,
588
589				startdate             : startdate,
590				pricerange_start      : pricerange_start,
591				pricerange_end        : pricerange_end,
592				features_query        : features_query,
593				features_total_query  : features_total_query,
594				orderby               : orderby,
595				mls_number            : mls_number,
596				others                : others,
597
598				enable_carousel       : enable_carousel,
599				load_data             : load_data,
600				load_map              : load_map
601			},
602			beforeSend: function(){
603				wdtPortfolioCommonUtils.wdtPortfolioAjaxBeforeSend(parent_item);
604			},
605			success: function (response) {
606
607				// Load data
608				if(load_data == 'true') {
609
610					output_container.find('.wdt-listing-output-data-holder').html(response.data);
611
612					if(data_apply_isotope == 'true') {
613						// Isotope
614						wdtPortfolioFrontendUtils.wdtPortfolioListingsListingIsotope(false);
615					} else if(enable_carousel == 'true') {
616						// Carousel
617						wdtPortfolioFrontendUtils.wdtPortfolioListingCarousel(output_container);
618					} else if(apply_equal_height == 'true') {
619						//Equal Height
620						output_container.find('.wdt-listings-item-wrapper').matchHeight({ property:"min-height" });
621					}
622
623					setTimeout(function(){
624						wdtPortfolioFrontendUtils.wdtPortfolioListingImageSwiperGallery();
625						if(jQuery.fn.niceScroll !== undefined) {
626							jQuery('html').getNiceScroll().resize();
627						}
628					},1000);
629
630				}
631
632				// Load map
633				if(data_load_map == 'true' && map_output_container != undefined) {
634					wdtPortfolioFrontendLocationUtils.wdtPortfolioLoadMapOutput(response.dataids, map_output_container);
635				}
636
637			},
638			complete: function(){
639				wdtPortfolioCommonUtils.wdtPortfolioAjaxAfterSend(parent_item);
640			}
641		});
642
643
644	},
645
646	wdtPortfolioAjaxPagination : function() {
647
648		jQuery( 'body' ).delegate( '.wdt-listing-pagination a:not(.disabled)', 'click', function(e) {
649
650            e.preventDefault();
651
652			var this_item = jQuery(this);
653
654            if(this_item.parents('.wdt-listing-pagination').hasClass('wdt-loadmore-pagination loaded')){
655                return false;
656            }
657
658			var listing_options = this_item.parents('.wdt-pagination').attr('data-listing-options');
659			listing_options = jQuery.parseJSON(listing_options);
660
661            var pagination_type = listing_options['pagination_type'];
662
663			// Pagination Data
664            var current_page;
665            if(pagination_type == 'numbered') {
666                var dynamic_pagination = false;
667                if(this_item.parent().hasClass('prev-post')) {
668                    current_page = parseInt(this_item.attr('data-currentpage'), 10)-1;
669                } else if(this_item.parent().hasClass('next-post')) {
670                    current_page = parseInt(this_item.attr('data-currentpage'), 10)+1;
671                } else {
672                    current_page = this_item.text();
673                }
674            } else if(pagination_type == 'loadmore' || pagination_type == 'infinity') {
675                var dynamic_pagination = true;
676                current_page = parseInt(this_item.attr('data-currentpage'), 10) + 1;
677            }
678
679			var post_per_page = listing_options['post_per_page'];
680
681			if(current_page == 1) {
682				var offset = 0;
683			} else if(current_page > 1) {
684				var offset = ((current_page-1)*post_per_page);
685			}
686
687			var function_call      = this_item.parents('.wdt-pagination').attr('data-functioncall');
688			var output_div         = this_item.parents('.wdt-pagination').attr('data-outputdiv');
689
690			var apply_isotope      = listing_options['apply_isotope'];
691			var enable_carousel    = listing_options['enable_carousel'];
692			var loader             = listing_options['loader'];
693			var loader_parent      = listing_options['loader_parent'];
694			var apply_equal_height = listing_options['apply_equal_height'];
695			var parent_item        = this_item.parents(loader_parent);
696
697			var default_options =
698			{
699                dynamic_pagination: dynamic_pagination,
700				action       : function_call,
701				current_page : current_page,
702				offset       : offset
703			};
704
705			var list_items = categories = tags = keyword = user_latitude = user_longitude = use_radius = radiu
705s = radius_unit = startdate = pricerange_start = pricerange_end = features_query = features_total_query = orderby = mls_number = others = '';
706
707
708			if(this_item.parents().hasClass('wdt-direct-list-items')) {
709
710				var item_type = '';
711				var map_output_container = '';
712				if(this_item.parents('.wdt-direct-list-items').hasClass('wdt-listing-output-data-container')) {
713					var output_container = this_item.parents('.wdt-direct-list-items');
714					item_type = 'data';
715				} else if(this_item.parents('.wdt-direct-list-items').hasClass('wdt-listing-output-map-container')) {
716					var map_output_container = this_item.parents('.wdt-direct-list-items');
717					item_type = 'map';
718				}
719
720				// Filters
721
722				var list_item_ids = output_container.find('.wdt-listing-output-'+item_type+'-holder').attr('data-listitemids');
723				if(list_item_ids != undefined && list_item_ids != '') {
724					list_items = list_item_ids.split(',');
725				}
726
727				var category_ids = output_container.find('.wdt-listing-output-'+item_type+'-holder').attr('data-categoryids');
728				if(category_ids != undefined && category_ids != '') {
729					categories = category_ids.split(',');
730				}
731
732				var tag_ids = output_container.find('.wdt-listing-output-'+item_type+'-holder').attr('data-tagids');
733				if(tag_ids != undefined && tag_ids != '') {
734					tags = tag_ids.split(',');
735				}
736
737				var unique_options =
738				{
739					list_items          : list_items,
740					categories          : categories,
741					tags                : tags
742				};
743
744			} else {
745
746				var output_container = jQuery('.wdt-listing-output-data-container');
747				var map_output_container = jQuery('.wdt-listing-output-map-container');
748
749
750				// Filter options
751
752				var filter_data      = wdtPortfolioFrontendUtils.wdtPortfolioFilterOptions();
753				keyword              = filter_data.keyword;
754				user_latitude        = filter_data.user_latitude;
755				user_longitude       = filter_data.user_longitude;
756				use_radius           = filter_data.use_radius;
757				radius               = filter_data.radius;
758				radius_unit          = filter_data.radius_unit;
759				categories           = filter_data.categories;
760				tags                 = filter_data.tags;
761				startdate            = filter_data.startdate;
762				pricerange_start     = filter_data.pricerange_start;
763				pricerange_end       = filter_data.pricerange_end;
764				features_query       = filter_data.features_query;
765				features_total_query = filter_data.features_total_query;
766				orderby              = filter_data.orderby;
767				mls_number           = filter_data.mls_number;
768				others               = filter_data.others;
769
770				// Filter Option in Output Data Container
771				if(categories == '') {
772					var category_ids = output_container.find('.wdt-listing-output-data-holder').attr('data-categoryids');
773					if(category_ids != undefined && category_ids != '') {
774						categories = category_ids.split(',');
775					}
776				}
777
778				var unique_options =
779				{
780					keyword             : keyword,
781					user_latitude       : user_latitude,
782					user_longitude      : user_longitude,
783					use_radius          : use_radius,
784					radius              : radius,
785					radius_unit         : radius_unit,
786					categories          : categories,
787					tags                : tags,
788					startdate           : startdate,
789					pricerange_start    : pricerange_start,
790					pricerange_end      : pricerange_end,
791					features_query      : features_query,
792					features_total_query: features_total_query,
793					orderby             : orderby,
794					mls_number          : mls_number,
795					others              : others,
796				};
797
798			}
799
800			var consolidated_options = Object.assign(default_options, listing_options, unique_options);
801			consolidated_options['custom_options'] = consolidated_options['custom_options'] ? JSON.stringify(consolidated_options['custom_options']) : '';
802
803			// ajax call
804			jQuery.ajax({
805				type: "POST",
806				url: wdtcommonobject.ajaxurl,
807				dataType: "JSON",
808				data: consolidated_options,
809				beforeSend: function() {
810					if(loader == 'true') {
811						wdtPortfolioCommonUtils.wdtPortfolioAjaxBeforeSend(parent_item);
812					}
813                    if(pagination_type == 'loadmore') {
814                        this_item.prepend( '<span><i class="fa fa-spinner fa-spin"></i></span>' );
815                    }
816				},
817				success: function (response) {
818
819                    if(pagination_type == 'numbered') {
820
821                        var offset_top = this_item.parents('.'+output_div).offset().top;
822
823                        this_item.parents('.'+output_div).html(response.data);
824
825                        if(apply_isotope == 'true') {
826                            // Isotope
827                            wdtPortfolioFrontendUtils.wdtPortfolioListingsListingIsotope(false);
828                        } else if(enable_carousel == 'true') {
829                            // Carousel
830                            wdtPortfolioFrontendUtils.wdtPortfolioListingCarousel(output_container);
831                        } else if(apply_equal_height == 'true') {
832                            //Equal Height
833                            output_container.find('.wdt-listings-item-wrapper').matchHeight({ property:"min-height" });
834                        }
835
836                        setTimeout(function(){
837                            wdtPortfolioFrontendUtils.wdtPortfolioListingImageSwiperGallery();
838                            if(jQuery.fn.niceScroll !== undefined) {
839                                jQuery('html').getNiceScroll().resize();
840                            }
841                        },1000);
842
843                        // Load map
844                        if(map_output_container.length) {
845                            wdtPortfolioFrontendLocationUtils.wdtPortfolioLoadMapOutput(response.dataids, map_output_container);
846                        }
847
848                        // Scroll to top
849                        jQuery('html, body').animate({
850                            scrollTop: parseInt(offset_top, 10)-60
851                        }, 600);
852
853                    } else if(pagination_type == 'loadmore' || pagination_type == 'infinity') {
854
855                        if(response.dataids.length) {
856
857                            this_item.parents('.'+output_div).find('.wdt-listings-item-container').append(response.data);
858                            this_item.attr('data-currentpage', current_page);
859
860                            if(apply_isotope == 'true') {
861                                // Isotope
862                                wdtPortfolioFrontendUtils.wdtPortfolioListingsListingIsotope(true);
863                            } else if(enable_carousel == 'true') {
864                                // Carousel
865                                wdtPortfolioFrontendUtils.wdtPortfolioListingCarousel(output_container);
866                            } else if(apply_equal_height == 'true') {
867                                //Equal Height
868                                output_container.find('.wdt-listings-item-wrapper').matchHeight({ property:"min-height" });
869                            }
870
871                            setTimeout(function(){
872                                wdtPortfolioFrontendUtils.wdtPortfolioListingImageSwiperGallery();
873                                if(jQuery.fn.niceScroll !== undefined) {
874                                    jQuery('html').getNiceScroll().resize();
875                                }
876                            },1000);
877
878                            // Load map
879                            if(map_output_container.length) {
880                                wdtPortfolioFrontendLocationUtils.wdtPortfolioLoadMapOutput(response.dataids, map_output_container);
881                            }
882
883                        } else {
884                            this_item.html(wdtfrontendobject.noMorePosts);
885                            this_item.parents('.wdt-loadmore-pagination').addClass('loaded');
886                        }
887
888                    }
889
890				},
891				complete: function() {
892					if(loader == 'true') {
893						wdtPortfolioCommonUtils.wdtPortfolioAjaxAfterSend(parent_item);
894					}
895                    if(pagination_type == 'loadmore') {
896                        this_item.find('span').remove();
897                    }
898				}
899			});
900
901		});
902
903        window.addEventListener('scroll', () => {
904
905            let infinityItem = jQuery('.wdt-infinity-pagination');
906
907            if(infinityItem.length) {
908
909                const scrollTop = document.documentElement.scrollTop;
910
911                let infinityItemOffset = infinityItem.offset();
912                let infinityItemOffsetTop = Math.floor(infinityItemOffset.top - 400);
913
914                if(scrollTop >= infinityItemOffsetTop) {
915                    jQuery('.wdt-listing-pagination a').trigger('click');
916                    jQuery('.wdt-listing-pagination a').addClass('disabled');
917                } else {
918                    jQuery('.wdt-listing-pagination a').removeClass('disabled');
919                }
920
921            }
922
923        });
924
925	},
926
927	wdtPortfolioListingImageSwiperGallery : function() {
928
929		// Image gallery swiper
930		var swiperGallery = [];
931		var swiperGalleryOptions = [];
932		var swiperIterator = 1;
933
934		jQuery('.wdt-listings-image-gallery-container').each(function() {
935
936			var $swiperItem = jQuery(this);
937			var swiperUniqueId = 'swiperuniqueid-imggal-'+swiperIterator;
938
939			swiperGalleryOptions[swiperUniqueId] = [];
940			$swiperItem.attr('id', swiperUniqueId);
941
942			// Get swiper options
943			var effect = $swiperItem.attr('data-carouseleffect');
944			var autoheight = false;
945
946			var paginationtype = ($swiperItem.attr('data-carouselpaginationtype') != '') ? $swiperItem.attr('data-carouselpaginationtype') : '';
947
948			var autoplay = parseInt($swiperItem.attr('data-carouselautoplay'), 10);
949			if(autoplay > 0) {
950				swiperGalleryOptions[swiperUniqueId]['autoplay_enable'] = true;
951				autoplay_enable = true;
952			} else {
953				swiperGalleryOptions[swiperUniqueId]['autoplay_enable'] = false;
954				autoplay_enable = false;
955			}
956
957			var slidesperview = parseInt($swiperItem.attr('data-carouselslidesperview'), 10);
958			swiperGalleryOptions[swiperUniqueId]['centeredslides'] = true;
959			if(slidesperview > 1) {
960				swiperGalleryOptions[swiperUniqueId]['centeredslides'] = false;
961			}
962
963			var noofimages = parseInt($swiperItem.attr('data-carouselnoofimages'), 10);
964			var initialSlide = 0;
965			if(slidesperview > 1) {
966				initialSlide = 2;
967				swiperGalleryOptions[swiperUniqueId]['initialSlide'] = 2;
968			}
969
970			var loopmode = ($swiperItem.attr('data-carouselloopmode') == 'true') ? true : false;
971			var mousewheelcontrol = ($swiperItem.attr('data-carouselmousewheelcontrol') == 'true') ? true : false;
972			var verticaldirection = ($swiperItem.attr('data-carouselverticaldirection') == 'true') ? true : false;
973			var direction = 'horizontal';
974			swiperGalleryOptions[swiperUniqueId]['direction'] = 'horizontal';
975			if(verticaldirection) {
976				direction = 'vertical';
977				swiperGalleryOptions[swiperUniqueId]['direction'] = 'vertical';
978			}
979
980			var pagination_class = '';
981			var pagination_type = '';
982			var watch_state = false;
983
984
985			if(paginationtype == 'bullets') {
986				var pagination_class = $swiperItem.find('.wdt-swiper-bullet-pagination');
987				var pagination_type = 'bullets';
988				var watch_state = true;
989			}
990
991			if(paginationtype == 'fraction') {
992				var pagination_class =  $swiperItem.find('.wdt-swiper-fraction-pagination');
993				var pagination_type = 'fraction';
994			}
995
996			if(paginationtype == 'progressbar') {
997				var pagination_class =  $swiperItem.find('.wdt-swiper-progress-pagination');
998				var pagination_type = 'progressbar';
999			}
1000
1001			var scrollbar_class = '';
1002			var	scrollbar_hide = true;
1003			if(paginationtype == 'scrollbar') {
1004				scrollbar_class = $swiperItem.find('.wdt-swiper-scrollbar');
1005				scrollbar_hide = false;
1006			}
1007
1008			if(paginationtype == 'thumbnail') {
1009				swiperGalleryOptions[swiperUniqueId]['thumbnailpagination'] = true;
1010				swiperGalleryOptions[swiperUniqueId]['numberofthumbnails'] = $swiperItem.attr('data-carouselnumberofthumbnails');
1011				loopmode = false;
1012			} else {
1013				swiperGalleryOptions[swiperUniqueId]['thumbnailpagination'] = false;
1014			}
1015
1016			var spacebetween = parseInt($swiperItem.attr('data-carouselspacebetween'), 10);
1017			if(spacebetween) {
1018				spacebetween = spacebetween;
1019			} else {
1020				spacebetween = 0;
1021			}
1022
1023			if(slidesperview == 1) {
1024				var breakpoint_slides_1 = breakpoint_slides_2 = breakpoint_slides_3 = breakpoint_slides_4 = 1;
1025			} else if(slidesperview == 2) {
1026				var breakpoint_slides_1 = 2; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
1027			} else if(slidesperview == 3) {
1028				var breakpoint_slides_1 = 3; var breakpoint_slides_2 = 3; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
1029			} else if(slidesperview >= 4) {
1030				var breakpoint_slides_1 = 4; var breakpoint_slides_2 = 3; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
1031			}
1032
1033			// Generate swiper
1034		    swiperGallery[swiperUniqueId] = new Swiper($swiperItem, {
1035
1036     			initialSlide: initialSlide,
1037                simulateTouch: true,
1038                roundLengths: true,
1039                spaceBetween: spacebetween,
1040                keyboardControl: true,
1041                paginationClickable: true,
1042                autoHeight: autoheight,
1043
1044                grabCursor: true,
1045                autoplay: {
1046                			enabled: autoplay_enable,
1047						    delay: autoplay,
1048						},
1049                slidesPerView: slidesperview,
1050                loop:loopmode,
1051                mousewheel: mousewheelcontrol,
1052                direction: direction,
1053
1054 				hashNavigation: {
1055					watchState: watch_state
1056				},
1057
1058				pagination: {
1059					el: pagination_class,
1060					type: pagination_type,
1061					clickable: true,
1062					renderFraction: function (currentClass, totalClass) {
1063						return '<span class="' + currentClass + '"></span>' +
1064								'<span class="wdt-separator"></span>' +
1065								'<span class="' + totalClass + '"></span>';
1066					}
1067				},
1068
1069				scrollbar: {
1070					el: scrollbar_class,
1071					hide: scrollbar_hide,
1072					draggable: true,
1073				},
1074
1075                effect: effect,
1076				coverflowEffect: {
1077					slideShadows: false,
1078					rotate: 0,
1079					stretch: 0,
1080					depth: 200,
1081					modifier: 1,
1082				},
1083		        cubeEffect: {
1084		        	slideShadows: true,
1085		            shadow: true,
1086		            shadowOffset: 20,
1087		            shadowScale: 0.94
1088		        },
1089
1090		        breakpoints: {
1091		            1024: {
1092		                slidesPerView: breakpoint_slides_1,
1093		            },
1094		            768: {
1095		                slidesPerView: breakpoint_slides_2,
1096		            },
1097		            640: {
1098		                slidesPerView: breakpoint_slides_3,
1099		            },
1100		            320: {
1101		                slidesPerView: breakpoint_slides_4,
1102		            }
1103		        },
1104
1105		    });
1106
1107
1108		    // Arrow pagination
1109	    	var arrowpagination = ($swiperItem.attr('data-carouselarrowpagination') == 'true') ? true : false;
1110
1111	    	if(arrowpagination) {
1112
1113			    $swiperItem.find('.wdt-listings-swiper-pagination-holder .wdt-swiper-arrow-pagination .wdt-swiper-arrow-prev').on('click', function(e) {
1114			    	var swiperUniqueId = $swiperItem.attr('id');
1115			        swiperGallery[swiperUniqueId].slidePrev();
1116			        if(swiperGalleryOptions[swiperUniqueId]['autoplay_enable']) {
1117			        	swiperGallery[swiperUniqueId].autoplay.start();
1118			        }
1119			        e.preventDefault();
1120			    });
1121
1122			    $swiperItem.find('.wdt-listings-swiper-pagination-holder .wdt-swiper-arrow-pagination .wdt-swiper-arrow-next').on('click', function(e) {
1123			    	var swiperUniqueId = $swiperItem.attr('id');
1124			        swiperGallery[swiperUniqueId].slideNext();
1125			        if(swiperGalleryOptions[swiperUniqueId]['autoplay_enable']) {
1126			        	swiperGallery[swiperUniqueId].autoplay.start();
1127			        }
1128			        e.preventDefault();
1129			    });
1130
1131			}
1132
1133		    swiperIterator++;
1134
1135		});
1136
1137		// Generate gallery thumb pagination
1138		for(i = 1; i < swiperIterator; i++) {
1139			if(swiperGalleryOptions['swiperuniqueid-imggal-'+i]['thumbnailpagination']) {
1140
1141				var swiperUniqueId = 'swiperuniqueid-imggal-'+i;
1142
1143				var $swiper_gallerythumb_item = jQuery('#'+swiperUniqueId).parents('.wdt-listings-image-gallery-holder').find('.wdt-listings-image-gallery-thumb-container');
1144
1145			    var swiperGalleryThumbs = new Swiper($swiper_gallerythumb_item, {
1146			    	initialSlide       : swiperGalleryOptions[swiperUniqueId]['initialSlide'],
1147			        spaceBetween       : 10,
1148			        direction          : swiperGalleryOptions[swiperUniqueId]['direction'],
1149			        centeredSlides     : swiperGalleryOptions[swiperUniqueId]['centeredslides'],
1150			        slidesPerView      : swiperGalleryOptions[swiperUniqueId]['numberofthumbnails'],
1151			        touchRatio         : 0.2,
1152			        slideToClickedSlide: true
1153			    });
1154
1155			    swiperGallery[swiperUniqueId].controller.control = swiperGalleryThumbs;
1156			    swiperGalleryThumbs.controller.control = swiperGallery[swiperUniqueId];
1157
1158			}
1159		}
1160
1161	},
1162
1163	wdtPortfolioContentScroll : function() {
1164
1165		if(jQuery('.wdt-content-scroll').length) {
1166
1167			var head = document.getElementsByTagName('head')[0];
1168			var script = document.createElement('script');
1169			script.src = wdtfrontendobject.pluginPath+'assets/js/jquery.nicescroll.js';
1170			script.type = 'text/javascript';
1171			head.appendChild(script);
1172
1173			jQuery('.wdt-content-scroll').niceScroll({ cursorcolor:wdtfrontendobject.primaryColor, cursorwidth: '5px', background:wdtfrontendobject.tert
1173iaryColor, cursorborder:'none' });
1174
1175		}
1176
1177	},
1178
1179	wdtPortfolioResponsiveMortageCalculator : function() {
1180
1181		if(jQuery('.lidd_mc_form').length) {
1182
1183			jQuery('.lidd_mc_input input[type="text"]').each(function() {
1184				jQuery( this ).wrap( '<div class="wdt-rmc-field-wrap"></div>' );
1185				jQuery( '<span></span>' ).insertAfter( jQuery(this) );
1186			});
1187
1188		}
1189
1190	}
1191
1192};
1193
1194var wdtPortfolioFrontend = {
1195
1196	dtInit : function() {
1197
1198		var isMobile = (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/Blackberry/i)) || (navigator.userAgent.match(/Windows Phone/i)) ? true : false;
1199		var currentWidth = window.innerWidth || document.documentElement.clientWidth;
1200
1201		wdtPortfolioFrontend.wdtPortfolio(isMobile, currentWidth);
1202		wdtPortfolioFrontend.dtLoadData();
1203
1204	},
1205
1206	wdtPortfolio : function(isMobile, currentWidth) {
1207
1208		jQuery(window).on('resize', function() {
1209			wdtPortfolioFrontendUtils.wdtPortfolioListingsListingIsotope(false);
1210			wdtPortfolioFrontendUtils.wdtPortfolioContentScroll();
1211		});
1212
1213		wdtPortfolioFrontendUtils.wdtPortfolioListingsListingIsotope(false);
1214
1215		wdtPortfolioFrontendUtils.wdtPortfolioAjaxPagination();
1216
1217		// Image Swiper Gallery for Listings & Single Page
1218			wdtPortfolioFrontendUtils.wdtPortfolioListingImageSwiperGallery();
1219
1220		wdtPortfolioFrontendUtils.wdtPortfolioContentScroll();
1221
1222		wdtPortfolioFrontendUtils.wdtPortfolioResponsiveMortageCalculator();
1223
1224	},
1225
1226	dtLoadData : function() {
1227
1228		jQuery('.wdt-direct-list-items').each(function() {
1229			wdtPortfolioFrontendUtils.wdtPortfolioLoadDataOutput(jQuery(this));
1230		});
1231
1232	},
1233
1234};
1235
1236jQuery(document).ready(function() {
1237
1238	if(!wdtfrontendobject.elementorPreviewMode) {
1239		wdtPortfolioFrontend.dtInit();
1240	}
1241
1242});
1243
1244( function( $ ) {
1245
1246	var wdtPortfolioFrontendJs = function($scope, $){
1247		wdtPortfolioFrontend.dtInit();
1248	};
1249
1250    $(window).on('elementor/frontend/init', function(){
1251		if(wdtfrontendobject.elementorPreviewMode) {
1252			elementorFrontend.hooks.addAction('frontend/element_ready/wdt-widget-df-listings-listing.default', wdtPortfolioFrontendJs);
1253		}
1254	});
1255
1256} )( 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.