"use strict"; var aytias = aytias || {}; !(function ($) { let loadButtonWrapper = $(".aytias-load-posts-btn-wrapper"); let loadButton = $(".aytias-load-posts-btn-wrapper .load-btn"); let loader = $(".aytias-load-posts-btn-wrapper .aytias-ajax-loader"); let currentPage = parseInt(loadButtonWrapper.attr("data-page")); let nextPage = currentPage + 1; let maxPage = parseInt(loadButtonWrapper.attr("data-max-pages")); let loadType = loadButtonWrapper.attr("data-load-type"); let template = loadButtonWrapper.closest("#primary").attr("data-template"); let canBeLoaded = true; aytias.loadMorePosts = { fetchPostsOnClick: function () { $(loadButton).on("click", function (event) { event.preventDefault(); fetchThePosts(); }); }, fetchPostsOnScroll: function () { let offset = $(loadButtonWrapper).offset().top - $(window).scrollTop(); if (nextPage <= maxPage) { if (700 > offset && canBeLoaded) { fetchThePosts(); } } }, }; function fetchThePosts() { $.ajax({ type: "POST", url: AytiasVars.ajaxurl, data: { action: "aytias_load_posts", nonce: AytiasVars.nonce, query_vars: AytiasVars.query_vars, page: nextPage, template: template, }, dataType: "json", beforeSend: function () { loadButton.hide(); loader.addClass("active"); canBeLoaded = false; }, success: function (response) { if (response.success) { let contentJoin = response.data.content.join(""); let content = $(contentJoin); content.hide(); $(".aytias-posts-lists").append(content); // Set Background Image if any if (contentJoin.indexOf("aytias-bg-image") >= 0) { aytias.setBackgroundImage.init(); } currentPage = nextPage; nextPage++; loader.removeClass("active"); content.fadeIn(); if (nextPage <= maxPage) { if ("ajax_load_on_click" == loadType) { loadButton.fadeIn(); } } else { loadButtonWrapper.hide(); } canBeLoaded = true; $(document.body).trigger("posts-loaded"); } else { loader.removeClass("active"); } }, }); } $(document).ready(function () { if ($(".aytias-load-posts-btn-wrapper").length > 0) { // Hide Normal Pagination $(".aytias-nav-pagination .posts-navigation").hide(); // Load Posts on Click if ("ajax_load_on_click" == loadType) { loadButtonWrapper.show(); aytias.loadMorePosts.fetchPostsOnClick(); } } }); // Load Posts on Scroll if ("ajax_load_on_scroll" == loadType) { loadButtonWrapper.show(); loadButton.hide(); $(window).scroll(function () { aytias.loadMorePosts.fetchPostsOnScroll(); }); } })(jQuery);