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.