File: //home/madepabj/hc-cosmetics.com/wp-content/themes/dbea/assets/js/sns-blog-ajax.js
(function ($) {
"use strict";
// Save current page
var _current_page,
// Flag to check if an ajax is executing
_ajax_loading = false;
if(typeof sns.query_vars !== 'undefined'){
_current_page = sns.query_vars.paged;
}else{
_current_page = -1;
}
if(_current_page == 0) _current_page = 1;
function dbea_do_ajax($blog_layout){
if( $('#navigation-ajax').length > 0 ){
$('#navigation-ajax').on('click', function(e){
e.preventDefault();
if( _current_page > -1 && !_ajax_loading){
var item_template = $(this).attr('data-template');
var data = {
action: 'load_more',
page: _current_page,
template: item_template,
numload: $(this).attr('data-numload'),
numexcerpt: $(this).attr('data-numexcerpt'),
dbea_blog_layout: $blog_layout,
vars: sns.query_vars,
};
var content_div = $(this).attr('data-target');
_ajax_loading = true;
$.ajax({
type: 'POST',
url: sns.ajaxurl,
cache: false,
data: data,
success: function(data, textStatus, XMLHttpRequest){
if(data !=''){
// Do something fancy before appending data
$('#navigation-ajax').removeClass('snsnav-active');
$('#navigation-ajax').html( $('#navigation-ajax').attr('data-label') );
// Then append data
// blog masonry
if($('.sns-grid-masonry').length > 0){
var newItems = $(data).appendTo(content_div);
$(content_div).masonry('appended', newItems);
var ImagesLoaded = imagesLoaded( document.querySelector(content_div) );
ImagesLoaded.on( 'done', function(instance){
$('.sns-grid-masonry').masonry({
// options
itemSelector: '.sns-grid-item',
});
});
}else{
$(content_div).append(data);
}
// increase current page
_current_page = _current_page + 1;
// Hide button load more if no posts
if( $('#sns-load-more-no-posts').length > 0 ){
$('.navigation-ajax').hide();
}
}else{
_current_page = -1;
// Do something else when there is no more results
$('.navigation-ajax').hide();
}
_ajax_loading = false;
$(content_div + ' .post-thumb img, ' + content_div + ' .gallery-thumb img').removeAttr('width').removeAttr('height').removeAttr('sizes');
},
error: function(MLHttpRequest, textStatus, errorThrown){
console.log(errorThrown);
_ajax_loading = false;
}
});
}
});
}
}
function dbea_auto_do_ajax($blog_layout){
if( $('#navigation-ajax').length > 0 ){
$('#navigation-ajax').each(function(){
if( _current_page > -1 && !_ajax_loading){
var item_template = $(this).attr('data-template');
var data = {
action: 'load_more',
page: _current_page,
template: item_template,
numload: $(this).attr('data-numload'),
numexcerpt: $(this).attr('data-numexcerpt'),
dbea_blog_layout: $blog_layout,
vars: sns.query_vars,
};
var content_div = $(this).attr('data-target');
_ajax_loading = true;
$.ajax({
type: 'POST',
url: sns.ajaxurl,
cache: false,
data: data,
success: function(data, textStatus, XMLHttpRequest){
if(data !=''){
// Do something fancy before appending data
$('#navigation-ajax').removeClass('snsnav-active');
$('#navigation-ajax').html( $('#navigation-ajax').attr('data-label') );
// blog masonry
if($('.sns-grid-masonry').length > 0){
var newItems = $(data).appendTo(content_div);
$(content_div).masonry('appended', newItems);
var ImagesLoaded = imagesLoaded( document.querySelector(content_div) );
setTimeout(function(){
ImagesLoaded.on( 'done', function(instance){
$('.sns-grid-masonry').masonry({
// options
itemSelector: '.sns-grid-item',
});
});
}, 800);
}else{
$(content_div).append(data);
}
// increase current page
_current_page = _current_page + 1;
// Hide button load more if no posts
if( $('#sns-load-more-no-posts').length > 0 ){
$('.navigation-ajax').hide();
}
}else{
_current_page = -1;
// Do something else when there is no more results
$('.navigation-ajax').hide();
}
_ajax_loading = false;
$(content_div + ' .post-thumb img, ' + content_div + ' .gallery-thumb img').removeAttr('width').removeAttr('height').removeAttr('sizes');
},
error: function(MLHttpRequest, textStatus, errorThrown){
console.log(errorThrown);
_ajax_loading = false;
}
});
}
});
}
}
$(document).ready(function($){
if( $('#navigation-ajax').length > 0 && $('.sns-blog-masonry').length > 0 ){
// blog masonry
if($('.sns-grid-masonry').length > 0){
var MasonryLoaded = imagesLoaded( document.querySelector("#snsmain") );
MasonryLoaded.on( 'done', function(instance){
$('.sns-grid-masonry').masonry({
// options
itemSelector: '.sns-grid-item',
});
});
}
var $dbea_blog_layout = $('input[name="hidden_dbea_blog_layout"]').val();
if ( $('#navigation-ajax').hasClass('click-load') ) {
$('#navigation-ajax').on('click', function() {
// Do something before loading
$(this).addClass('snsnav-active'); $(this).html( $(this).attr('data-labelload') );
dbea_do_ajax($dbea_blog_layout);
});
}else{
$(window).scroll(function() {
var scrollBottom = $(window).scrollTop() + $(window).height();
var navTop = $('#navigation-ajax').offset().top;
if ( navTop + $('#navigation-ajax').outerHeight() <= scrollBottom ) {
$('#navigation-ajax').addClass('snsnav-active'); $(this).html( $(this).attr('data-labelload') ); dbea_auto_do_ajax($dbea_blog_layout);
}
});
}
}
});
$(window).on('load', function(){
if( $('#navigation-ajax').length > 0 ){
$('.sns-blog-masonry').addClass('actived');
}
});
})(jQuery);