jQuery(window).on('load', function (){
if(jQuery(".elpt-portfolio-content").length){
var $grid=jQuery('.elpt-portfolio-content-isotope').isotope({
layoutMode: 'masonry',
itemSelector: '.portfolio-item-wrapper'
});
$grid.imagesLoaded().progress(function(){
$grid.isotope('layout');
});
var $packery=jQuery('.elpt-portfolio-content-packery').isotope({
layoutMode: 'packery',
itemSelector: '.portfolio-item-wrapper'
});
$packery.imagesLoaded().progress(function(){
$packery.isotope('layout');
});
var $fitrows=jQuery('.elpt-portfolio-content-fitrows').isotope({
layoutMode: 'fitRows',
itemSelector: '.portfolio-item-wrapper'
});
$fitrows.imagesLoaded().progress(function(){
$fitrows.isotope('layout');
});
var itemSelector=".portfolio-item-wrapper";
var $container=jQuery('.elpt-portfolio-content-isotope-pro').isotope({
layoutMode: 'masonry',
itemSelector: itemSelector
});
if($container.hasClass('elpt-portfolio-content-fitrows')){
$container.isotope('option', { layoutMode: 'fitRows' });
}else if($container.hasClass('elpt-portfolio-content-packery')){
$container.isotope('option', { layoutMode: 'packery' });
}
$container.imagesLoaded().progress(function(){
$container.isotope('layout');
});
var itemsPerPageDefault=10;
if(typeof gridSettings!=='undefined'&&gridSettings.itemsPerPageDefault!==undefined){
itemsPerPageDefault=gridSettings.itemsPerPageDefault;
}
var itemsPerPage=defineItemsPerPage();
var currentNumberPages=1;
var currentPage=1;
var currentFilter='*';
var filterAtribute='data-filter';
var pageAtribute='data-page';
var pagerClass='isotope-pager';
jQuery(window).resize(function(){
changeFilter(itemSelector);
})
function changeFilter(selector){
$container.isotope({ filter: selector }
); }
function getFilterSelector(){
var selector=itemSelector;
if(currentFilter!='*'){
selector +=currentFilter;
}
return selector;
}
function goToPage(n){
currentPage=n;
var selector=getFilterSelector();
selector +=`[${pageAtribute}="${currentPage}"]`;
var $gridBuilder=jQuery('.elpt-portfolio-content-packery.elpt-portfolio-grid-builder');
var isFixedLayout=$gridBuilder.length > 0&&$gridBuilder.hasClass('elpt-fixed-layout-mode');
if(isFixedLayout){
applyFixedLayoutPositionsForPage($gridBuilder, currentPage);
}
changeFilter(selector);
if(isFixedLayout){
$container.isotope('layout');
}}
function defineItemsPerPage(){
var pages=itemsPerPageDefault;
return pages;
}
function setPagination(){
var SettingsPagesOnItems=function(){
var item=1;
var page=1;
var selector=getFilterSelector();
$container.children(selector).each(function(){
if(item > itemsPerPage){
page++;
item=1;
}
jQuery(this).attr(pageAtribute, page);
item++;
});
currentNumberPages=page;
}();
var CreatePagers=function(){
var $isotopePager=(jQuery('.'+pagerClass).length==0) ? jQuery('<div class="'+pagerClass+'"></div>'):jQuery('.'+pagerClass);
$isotopePager.html('');
for(var i=0; i < currentNumberPages; i++){
var $pager=jQuery('<a href="javascript:void(0);" class="pager" '+pageAtribute+'="'+(i+1)+'"></a>');
$pager.html(i+1);
$pager.click(function(){
jQuery('.isotope-pager .active').removeClass('active');
jQuery(this).addClass('active');
var page=jQuery(this).eq(0).attr(pageAtribute);
goToPage(page);
});
$pager.appendTo($isotopePager);
}
$container.after($isotopePager);
}();
}
setPagination();
goToPage(1);
function applyFixedLayoutFilter($container, filterValue){
var $allItems=$container.children('.portfolio-item-wrapper');
var $matchingItems;
if(filterValue==='*'){
$matchingItems=$allItems;
}else{
$matchingItems=$allItems.filter(filterValue);
}
$allItems.removeClass(function(index, className){
return (className.match(/\belpt-grid-pos-\d+\b/g)||[]).join(' ');
});
$matchingItems.each(function(visualIndex){
jQuery(this).addClass('elpt-grid-pos-' + (visualIndex + 1));
});
}
function applyFixedLayoutPositionsForPage($container, pageNumber){
var $allItems=$container.children('.portfolio-item-wrapper');
var selector=getFilterSelector();
selector +='[' + pageAtribute + '="' + pageNumber + '"]';
var $visibleItems=$allItems.filter(selector);
$allItems.removeClass(function(index, className){
return (className.match(/\belpt-grid-pos-\d+\b/g)||[]).join(' ');
});
$visibleItems.each(function(visualIndex){
jQuery(this).addClass('elpt-grid-pos-' + (visualIndex + 1));
});
}
jQuery('.elpt-portfolio-filter').on('click', 'button', function (){
jQuery('.elpt-portfolio-filter button').removeClass('item-active');
jQuery(this).addClass('item-active');
var filterValue=jQuery(this).attr(filterAtribute);
var filter=filterValue;
currentFilter=filter;
var $gridBuilder=jQuery('.elpt-portfolio-content-packery.elpt-portfolio-grid-builder');
var isFixedLayout=$gridBuilder.hasClass('elpt-fixed-layout-mode');
if(isFixedLayout){
applyFixedLayoutFilter($gridBuilder, filterValue);
}else{
$grid.isotope({
filter: filterValue
});
$packery.isotope({
filter: filterValue
});
$fitrows.isotope({
filter: filterValue
});
}
setPagination();
goToPage(1);
});
}});