Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/yme/wp-content/themes/oceanwp/assets/src/js/theme/ |
Upload File : |
import InfiniteScroll from "infinite-scroll"; import ResponsiveAutoHeight from "responsive-auto-height"; class OWInfiniteScroll { #elements = { infiniteScrollNav: document.querySelector(".infinite-scroll-nav"), }; #infiniteScroll; constructor() { if ( !!this.#elements.infiniteScrollNav && !!this.#elements.infiniteScrollNav.querySelector(".older-posts a") ) { this.#setElements(); this.#start(); this.#setupEventListeners(); } } #setElements = () => { this.#elements = { ...this.#elements, infiniteScrollWrapper: document.querySelector(".infinite-scroll-wrap"), }; }; #start = () => { this.#infiniteScroll = new InfiniteScroll( this.#elements.infiniteScrollWrapper, { path: ".older-posts a", append: ".item-entry", status: ".scroller-status", hideNav: ".infinite-scroll-nav", history: false, prefill: true, scrollThreshold: 500, } ); }; #setupEventListeners = () => { this.#infiniteScroll.on("load", function (body, path, response) { const items = body.querySelectorAll(".item-entry"); var firstElem = document.querySelector('.site-content .products .product'); var columns = 0; if (firstElem) { var nextElements = firstElem.nextElementSibling; while (nextElements && !nextElements.classList.contains('first')) { columns++; nextElements = nextElements.nextElementSibling; } columns++; } var lastElem = document.querySelector('.site-content .products .product:last-child'); if ( lastElem && !lastElem.classList.contains('last') ) { let offset = 0; let sibling = lastElem.previousElementSibling; while (sibling) { offset++; if (sibling.classList.contains('last')) { break; } sibling = sibling.previousElementSibling; } let loop = 0; items.forEach(item => { loop++; item.classList.remove('first'); item.classList.remove('last'); if ((loop + offset) % columns === 0) { item.classList.add('last'); } else if (( ( loop - ( 1 - offset ) ) % columns ) === 0 ) { item.classList.add('first'); } }); } imagesLoaded(items, () => { // Blog masonry isotope if (this.element.classList.contains("blog-masonry-grid")) { oceanwp?.blogMasonry?.isotop.appended(items); // Fix Gallery posts if (!!this.element.querySelector(".gallery-format")) { setTimeout(() => { oceanwp?.blogMasonry?.isotop.layout(); }, 600 + 1); } } // Gallery posts slider if (!document.body.classList.contains("no-carousel")) { oceanwp?.owSlider?.start( this.element.querySelectorAll( ".gallery-format, .product-entry-slider" ) ); } if (!document.body.classList.contains("no-lightbox")) { oceanwp?.owLightbox?.initSingleImageLightbox(); oceanwp?.owLightbox?.initGalleryLightbox(); } // Force the images to be parsed to fix Safari issue items.forEach((item) => { item.querySelectorAll("img")?.forEach((img) => { img.outerHTML = img.outerHTML; }); }); }); }); this.#infiniteScroll.on("append", function (body, path, items, response) { imagesLoaded(items, () => { // Equal height elements if (!document.body.classList.contains("no-matchheight")) { let entryItemsSelectors = Array.from(items).map((item) => { if ( item.id ) { return `#${item.id} .blog-entry-inner`; } else { return; } }); entryItemsSelectors = entryItemsSelectors.filter(function( element ) { return element !== undefined; }); if ( entryItemsSelectors.length > 0 ) { new ResponsiveAutoHeight(entryItemsSelectors.join(",")); } } // Added support for Variation Swatches by CartFlow. document.dispatchEvent( new CustomEvent('cfvswVariationLoad', { detail: {} }) ); }); jQuery(document).trigger('maybe-init-oec-wishlist'); }); }; } ("use script"); window.oceanwp = window.oceanwp || {}; document.addEventListener("DOMContentLoaded", () => { oceanwp.owInfiniteScroll = new OWInfiniteScroll(); });