You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
3.0 KiB

frontend.pagination = {
page: 1,
totalPages: -1,
load: function () {
if (frontend.pagination.totalPages == -1 || frontend.pagination.page < frontend.pagination.totalPages) {
frontend.pagination.page++;
frontend.pagination.pull();
}
},
pull: function () {
jQuery('section.load-more-pagination div.load-more-pagination a').blur();
var categoryId = '';
if (jQuery('#category_id').length > 0) {
categoryId = jQuery('#category_id').val();
}
var data = {
action: 'load_more_news',
page: frontend.pagination.page,
category: categoryId
};
jQuery.post(ajaxurl, data, function (response) {
var response = JSON.parse(response);
frontend.pagination.totalPages = response.pages;
if (frontend.pagination.totalPages == frontend.pagination.page || frontend.pagination.totalPages == 0) {
frontend.pagination.disable();
}
frontend.pagination.parse(response.posts);
});
},
disable: function () {
jQuery('section.load-more-pagination div.load-more-pagination').css({
opacity: .0,
pointerEvents: 'none'
});
},
parse: function (posts) {
for (var i = 0; i < posts.length; i++) {
var post = posts[i];
console.log(post);
var column = jQuery('<div/>').addClass('col-xs-12').addClass('col-sm-6');
var container = jQuery('<div/>').addClass('item-news');
if (post.image) {
var image = jQuery('<div/>').addClass('image').css({
backgroundImage: 'url(' + post.image + ')'
});
container.append(image);
}
var info = jQuery('<div/>').addClass('item-info');
var header = jQuery('<header/>');
var h3 = jQuery('<h3/>').addClass('title');
var footer = jQuery('<footer/>');
var headerLink = jQuery('<a/>').addClass('category').attr('title', post.category_label).attr('href', post.category_link).text(post.category_label);
var h3Link = jQuery('<a/>').attr('title', post.title).attr('href', post.link).text(post.title);
var date = jQuery('<div/>').addClass('date').text(post.date);
var imgReadMore = jQuery('<img/>').attr('alt', 'Read More').attr('src', '/wp-content/themes/openvpn/assets/images/arrow.png');
var linkDate = jQuery('<a/>').addClass('go-to').attr('href', post.link);
linkDate.append(imgReadMore);
date.append(linkDate);
footer.append(date);
h3.append(h3Link);
header.append(headerLink);
info.append(header).append(h3).append(footer);
container.append(info);
column.append(container);
jQuery('section.news > .container > .row > .col-xs-12 > .row').append(column);
}
}
};