var dceDynamicPostsSkin = '';
var dceDynamicPostsSkinPrefix = '';
var Widget_DCE_Dynamicposts_base_Handler = function($scope, $) {
const widgetType = $scope.attr('data-widget_type');
if (typeof widgetType !== 'string') {
return;
}
const typeAndSkin = widgetType.split('.');
if (typeAndSkin.length !== 2) {
return;
}
// Features Dynamic Posts Collection
let features = dce_features_collection_dynamic_posts;
if (! features.includes(typeAndSkin[0])) {
return;
}
dceDynamicPostsSkin = typeAndSkin[1];
if(dceDynamicPostsSkin === 'grid-filters') {
dceDynamicPostsSkin = 'grid_filters';
}
dceDynamicPostsSkinPrefix = dceDynamicPostsSkin + '_';
var elementSettings = dceGetElementSettings($scope);
// Run on load
fitImages();
// HOVER EFFECTS
var blocks_hoverEffects = $scope.find('.dce-post-block.dce-hover-effects');
if (blocks_hoverEffects.length) {
blocks_hoverEffects.each(function(i, el) {
$(el).on("mouseenter touchstart", function() {
$(this).find('.dce-hover-effect-content').removeClass('dce-close').addClass('dce-open');
});
$(el).on("mouseleave touchend", function() {
$(this).find('.dce-hover-effect-content').removeClass('dce-open').addClass('dce-close');
});
});
}
// Linkable Template
if(
false === elementorFrontend.isEditMode()
&& 'yes' === elementSettings.templatemode_linkable
){
$scope.find('.dce-post.dce-post-item[data-post-link]').click(function() {
window.location.assign( $(this).attr("data-post-link") );
return false;
});
}
// Fit Images Ratio
function fitImage($post) {
var $imageParent = $post.find('.dce-img');
$image = $imageParent.find('img');
image = $image[0];
if (!image) {
return;
}
var imageParentRatio = $imageParent.outerHeight() / $imageParent.outerWidth(),
imageRatio = image.naturalHeight / image.naturalWidth;
$imageParent.toggleClass('dce-fit-img', imageRatio < imageParentRatio);
}
function fitImages() {
var itemRatio = $scope.find('.dce-post-image figure').first().data('image-ratio');
if( !itemRatio ) {
return;
}
$scope.find('.dce-posts-container').toggleClass('dce-is-ratio', true);
$scope.find('.dce-post-image').each(function() {
var $post = $(this);
$image = $post.find('.dce-img img');
fitImage($post);
$image.on('load', function() {
fitImage($post);
});
});
}
};
jQuery(window).on('elementor/frontend/init', function() {
elementorFrontend.hooks.addAction('frontend/element_ready/global', Widget_DCE_Dynamicposts_base_Handler);
});
// Re init layout after ajax request on Search&Filter Pro
(function ( $ ) {
"use strict";
$( document ).on( "sf:ajaxfinish", ".searchandfilter", function( e, data ) {
if ( window.elementorFrontend && window.elementorFrontend.elementsHandler && window.elementorFrontend.elementsHandler.runReadyTrigger) {
var runReadyTrigger = window.elementorFrontend.elementsHandler.runReadyTrigger;
let form = data.object;
let ajaxUpdateSections = '[]';
if (typeof form.dataset.ajaxUpdateSections == 'string') {
ajaxUpdateSections = form.dataset.ajaxUpdateSections;
}
let sections = JSON.parse(ajaxUpdateSections)
sections.push(data.targetSelector);
for (let section of sections) {
runReadyTrigger( section );
$( section ).find('.elementor-widget').each( function() {
runReadyTrigger($( this ));
});
}
}
});
}(jQuery));