');
container.find('.image').append($(this).clone());
return container;
});
$('.image-style-64').removeClass('image-style-64').replaceWith(function() {
var container = $('
');
container.find('.image').append($(this).clone());
return container;
});
}
$(document).on('click', '.image-wrapper', function() {
$(this).parent().toggleClass('fullscreen');
});
$(document).ready(function(){
var postCount = 3;
if ( sessionStorage.getItem('Blog_Post_Count') ) {
var postCount = sessionStorage.getItem('Blog_Post_Count');
if (sessionStorage.getItem('Blog_Post_Height')) {
$('.post-column').css('min-height', sessionStorage.getItem('Blog_Post_Height') +'px');
}
}
var postCol = $('.post-column');
var startNumPostsToShow = postCount;
var extraPosts = 4;
var partUUID = "b9c16ef5-872a-4a23-96cd-d9f78e8d795a";
var partContainer = $("#" + partUUID);
var partId = "2459"
var singlePostTemplate = "420";
var readRouteId = "1893";
var ordering = "-post_metadata__as_at_date";
var partVersion = "live";
var currentPostId = parseInt("2639", 10);
var loadMoreButton = partContainer.find(".MorePosts");
var requiredPostIds = [];
var postHtmls = {};
var postElements = {};
var contentArea = partContainer.find(".post-container");
var numPostsToShow = startNumPostsToShow;
refreshRequiredPostIds().then(populateDOM);
function refreshRequiredPostIds(category) {
return $.ajax({
type: 'GET',
url: '/srp/api/posts',
data: {ordering: ordering, id: partId, version: partVersion, category: category || undefined}
}).then(function(result) {
var data = $.parseJSON(result);
if (currentPostId){
var idx = data.indexOf(currentPostId);
if (idx !== -1){
data.splice(idx, 1);
}
data.unshift(currentPostId);
}
requiredPostIds = data;
});
}
function populateDOM(reset) {
return getPostHtmlIfNotRetrieved().then(function() {
if (reset) {
contentArea.empty();
postElements = {};
}
for (var i = 0; i numPostsToShow){
loadMoreButton.show();
} else {
loadMoreButton.hide();
}
if ( contentArea.find('.news-item').length == 0 ) {
contentArea.append('
Sorry, there are no posts in the selected category
');
}
}).done(function(){
$("body").trigger("posts_retrieved");
});
}
function getPostHtmlIfNotRetrieved() {
var ids = requiredPostIds.slice(0, numPostsToShow);
var idsToRetrieve = [];
for (i in ids) {
id = ids[i];
if (!postHtmls[id]) {
idsToRetrieve.push(id);
}
}
return retrievePostHtmls(idsToRetrieve);
}
function retrievePostHtmls(ids) {
if (ids.length === 0) {
return $.when();
}
return $.ajax({
'type': 'GET',
'url': '/srp/api/post-html',
'data': {'id': partId,
'posts': ids.join(','),
'template': singlePostTemplate,
'read_route_id': readRouteId,
'version': partVersion
}
}).then(function(result) {
for (key in result) {
postHtmls[key] = result[key];
}
});
}
loadMoreButton.click(function(){
numPostsToShow += extraPosts;
populateDOM();
zoomPost();
// count posts
var postCount = $('.post-container').find('.news-item-wrapper').length;
addShowMore();
sessionStorage.setItem('Blog_Post_Count', postCount + 4);
setTimeout(function(){
sessionStorage.setItem('Blog_Post_Height', postCol.height() );
}, 3000);
});
$(".category-option").click(function(){
$(".category-option").removeClass("selected");
$(this).addClass("selected");
refreshRequiredPostIds($(this).data("category")).then(function(){populateDOM(true)})
event.stopPropagation();
});
$('.post-filters').on('click', function() {
$(this).toggleClass('open');
$('.filter-options').toggleClass('open');
event.stopPropagation();
});
});