var dtDirectoryFrontendPackagesUtils = {
dtDirectoryPackagesListingIsotope : function() {
jQuery('.dtdr-packages-item-apply-isotope').each(function() {
var this_item = jQuery(this);
this_item.isotope({
itemSelector: '.dtdr-column',
percentPosition: true,
masonry: {
columnWidth: '.grid-sizer'
}
});
window.setTimeout(function(){
this_item.isotope();
}, 800);
});
},
dtDirectoryPackageLoadDataOutput : function(output_container) {
var parent_item = output_container;
// Default options
var type = output_container.find('.dtdr-package-output-data-holder').attr('data-type');
var post_per_page = output_container.find('.dtdr-package-output-data-holder').attr('data-postperpage');
var columns = output_container.find('.dtdr-package-output-data-holder').attr('data-columns');
var apply_isotope = output_container.find('.dtdr-package-output-data-holder').attr('data-applyisotope');
var package_type = output_container.find('.dtdr-package-output-data-holder').attr('data-packagetype');
var enable_carousel = output_container.attr('data-enablecarousel');
var package_items = '';
var package_item_ids = output_container.find('.dtdr-package-output-data-holder').attr('data-packageitemids');
if(package_item_ids != undefined && package_item_ids != '') {
package_items = package_item_ids.split(',');
}
var excerpt_length = output_container.find('.dtdr-package-output-data-holder').attr('data-excerptlength');
var show_featured_image = output_container.find('.dtdr-package-output-data-holder').attr('data-showfeaturedimage');
var apply_equal_height = output_container.find('.dtdr-package-output-data-holder').attr('data-applyequalheight');
jQuery.ajax({
type: "POST",
url: dtdrfrontendobject.ajaxurl,
dataType: "JSON",
data:
{
action : 'dtdr_generate_packages_listing_data',
type : type,
post_per_page : post_per_page,
columns : columns,
apply_isotope : apply_isotope,
package_type : package_type,
excerpt_length : excerpt_length,
show_featured_image: show_featured_image,
apply_equal_height : apply_equal_height,
enable_carousel : enable_carousel,
package_items : package_items,
},
beforeSend: function(){
dtDirectoryCommonUtils.dtDirectoryAjaxBeforeSend(parent_item);
},
success: function (response) {
output_container.find('.dtdr-package-output-data-holder').html(response.data);
if(apply_isotope == 'true') {
// Isotope
dtDirectoryFrontendPackagesUtils.dtDirectoryPackagesListingIsotope();
} else if(enable_carousel == 'true') {
// Carousel
dtDirectoryFrontendPackagesUtils.dtDirectoryPackageCarousel(output_container);
} else if(apply_equal_height == 'true') {
//Equal Height
output_container.find('.dtdr-packages-item-wrapper').matchHeight({ property:"min-height" });
}
},
complete: function(){
dtDirectoryCommonUtils.dtDirectoryAjaxAfterSend(parent_item);
}
});
},
dtDirectoryPackageAjaxPagination : function() {
jQuery( 'body' ).delegate( '.dtdr-package-pagination a', 'click', function(e) {
var this_item = jQuery(this);
// Pagination Data
if(this_item.parent().hasClass('prev-post')) {
current_page = parseInt(this_item.attr('data-currentpage'), 10)-1;
} else if(this_item.parent().hasClass('next-post')) {
current_page = parseInt(this_item.attr('data-currentpage'), 10)+1;
} else {
current_page = this_item.text();
}
var post_per_page = this_item.parents('.dtdr-pagination').attr('data-postperpage');
if(current_page == 1) {
var offset = 0;
} else if(current_page > 1) {
var offset = ((current_page-1)*post_per_page);
}
var function_call = this_item.parents('.dtdr-pagination').attr('data-functioncall');
var output_div = this_item.parents('.dtdr-pagination').attr('data-outputdiv');
var type = this_item.parents('.dtdr-pagination').attr('data-type');
var loader = this_item.parents('.dtdr-pagination').attr('data-loader');
var loader_parent = this_item.parents('.dtdr-pagination').attr('data-loaderparent');
var columns = this_item.parents('.dtdr-pagination').attr('data-columns');
var load_data = this_item.parents('.dtdr-pagination').attr('data-loaddata');
var apply_isotope = this_item.parents('.dtdr-pagination').attr('data-applyisotope');
var show_featured_image = this_item.parents('.dtdr-pagination').attr('data-showfeaturedimage');
var apply_equal_height = this_item.parents('.dtdr-pagination').attr('data-applyequalheight');
var package_items = output_container = '';
if(this_item.parents().hasClass('dtdr-direct-package-items')) {
var output_container = this_item.parents('.dtdr-direct-package-items');
var package_item_ids = this_item.parents('.dtdr-direct-package-items').find('.dtdr-package-output-data-holder').attr('data-listitemids');
if(package_item_ids != undefined && package_item_ids != '') {
package_items = package_item_ids.split(',');
}
}
// ajax call
jQuery.ajax({
type: "POST",
url: dtdrcommonobject.ajaxurl,
dataType: "JSON",
data:
{
action : function_call,
ajax_call : true,
current_page : current_page,
offset : offset,
post_per_page : post_per_page,
function_call : function_call,
output_div : output_div,
type : type,
columns : columns,
apply_isotope : apply_isotope,
show_featured_image: show_featured_image,
apply_equal_height : apply_equal_height,
package_items : package_items,
},
beforeSend: function(){
if(loader == 'true') {
dtDirectoryCommonUtils.dtDirectoryAjaxBeforeSend(jQuery(loader_parent));
}
},
success: function (response) {
this_item.parents('.'+output_div).html(response.data);
if(apply_isotope == 'true') {
// Isotope
dtDirectoryFrontendPackagesUtils.dtDirectoryPackagesListingIsotope();
} else if(apply_equal_height == 'true') {
//Equal Height
output_container.find('.dtdr-packages-item-wrapper').matchHeight({ property:"min-height" });
}
},
complete: function(){
if(loader == 'true') {
dtDirectoryCommonUtils.dtDirectoryAjaxAfterSend(jQuery(loader_parent));
}
}
});
e.preventDefault();
});
},
dtDirectoryPackageCarousel : function(output_container) {
var swiperGalleryPackage = [];
var swiperGalleryPackageOptions = [];
var swiperListingIterator = 1;
output_container.find('.swiper-container').each(function() {
var $swiperItem = jQuery(this);
var swiperUniqueId = 'swiperuniqueid-'+swiperListingIterator;
swiperGalleryPackageOptions[swiperUniqueId] = [];
$swiperItem.attr('id', swiperUniqueId);
// Get swiper options
var effect = output_container.attr('data-carouseleffect');
var autoplay = parseInt(output_container.attr('data-carouselautoplay'), 10);
var autoplay_enable = false;
if(autoplay > 0) {
autoplay_enable = true;
swiperGalleryPackageOptions[swiperUniqueId]['autoplay'] = autoplay;
} else {
swiperGalleryPackageOptions[swiperUniqueId]['autoplay'] = 0;
}
var slidesperview = parseInt(output_container.attr('data-carouselslidesperview'), 10);
var loopmode = (output_container.attr('data-carouselloopmode') == 'true') ? true : false;
var mousewheelcontrol = (output_container.attr('data-carouselmousewheelcontrol') == 'true') ? true : false;
var pagination_class = '';
var pagination_type = '';
if(output_container.attr('data-carouselbulletpagination') == 'true') {
var pagination_class = output_container.find('.dtdr-swiper-bullet-pagination');
var pagination_type = 'bullets';
}
var spacebetween = parseInt(output_container.attr('data-carouselspacebetween'), 10);
if(spacebetween) {
spacebetween = spacebetween;
} else {
spacebetween = 0;
}
if(slidesperview == 1) {
var breakpoint_slides_1 = breakpoint_slides_2 = breakpoint_slides_3 = breakpoint_slides_4 = 1;
} else if(slidesperview == 2) {
var breakpoint_slides_1 = 2; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
} else if(slidesperview == 3) {
var breakpoint_slides_1 = 3; var breakpoint_slides_2 = 3; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
} else if(slidesperview >= 4) {
var breakpoint_slides_1 = 4; var breakpoint_slides_2 = 3; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
}
// Generate swiper
swiperGalleryPackage[swiperUniqueId] = new Swiper('#'+swiperUniqueId, {
initialSlide: 0,
simulateTouch: true,
roundLengths: true,
spaceBetween: spacebetween,
keyboardControl: true,
paginationClickable: true,
autoHeight: true,
grabCursor: true,
autoplay: {
enabled: autoplay_enable,
delay: autoplay,
},
slidesPerView: slidesperview,
loop:loopmode,
mousewheel: mousewheelcontrol,
pagination: {
el: pagination_class,
type: pagination_type,
clickable: true,
renderFraction: function (currentClass, totalClass) {
return '' +
'' +
'';
}
},
effect: effect,
coverflowEffect: {
slideShadows: false,
rotate: 0,
stretch: 0,
depth: 200,
modifier: 1,
},
cubeEffect: {
slideShadows: true,
shadow: true,
shadowOffset: 20,
shadowScale: 0.94
},
breakpoints: {
0: {
slidesPerView: breakpoint_slides_4,
},
768: {
slidesPerView: breakpoint_slides_3,
},
1025: {
slidesPerView: breakpoint_slides_2,
},
1280: {
slidesPerView: breakpoint_slides_1,
}
},
});
if(output_container.attr('data-carouselarrowpagination') == 'true') {
output_container.find('.dtdr-swiper-arrow-pagination .dtdr-swiper-arrow-prev').on('click', function(e) {
var swiperUniqueId = $swiperItem.attr('id');
swiperGalleryPackage[swiperUniqueId].slidePrev();
if(swiperGalleryPackageOptions[swiperUniqueId]['autoplay'] > 0) {
swiperGalleryPackage[swiperUniqueId].autoplay.start();
}
e.preventDefault();
});
output_container.find('.dtdr-swiper-arrow-pagination .dtdr-swiper-arrow-next').on('click', function(e) {
var swiperUniqueId = $swiperItem.attr('id');
swiperGalleryPackage[swiperUniqueId].slideNext();
if(swiperGalleryPackageOptions[swiperUniqueId]['autoplay'] > 0 ) {
swiperGalleryPackage[swiperUniqueId].autoplay.start();
}
e.preventDefault();
});
}
swiperListingIterator++;
});
}
};
var dtDirectoryFrontendPackages = {
dtInit : function() {
jQuery(window).on('resize', function() {
dtDirectoryFrontendPackagesUtils.dtDirectoryPackagesListingIsotope();
});
// Pagination
dtDirectoryFrontendPackagesUtils.dtDirectoryPackageAjaxPagination();
// Load by Default
jQuery('.dtdr-direct-package-items').each(function() {
dtDirectoryFrontendPackagesUtils.dtDirectoryPackageLoadDataOutput(jQuery(this));
});
}
};
jQuery(document).ready(function() {
"use strict";
if(!dtdrfrontendobject.elementorPreviewMode) {
dtDirectoryFrontendPackages.dtInit();
}
});
( function( $ ) {
"use strict";
var dtDirectoryFrontendPackagesJs = function($scope, $){
dtDirectoryFrontendPackages.dtInit();
};
$(window).on('elementor/frontend/init', function(){
if(dtdrfrontendobject.elementorPreviewMode) {
elementorFrontend.hooks.addAction('frontend/element_ready/dtdr-widget-df-packages-listing.default', dtDirectoryFrontendPackagesJs);
}
});
} )( jQuery );