{"version":3,"file":"script.js","mappings":"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","sources":["webpack://advanced-post-block/./src/script.js"],"sourcesContent":["// import Sass\r\nimport './style.scss';\r\n\r\nimport 'swiper/css/bundle'; // Swiper CSS\r\n\r\nconst $ = jQuery;\r\n\r\n// Slider Posts\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n const allApbPosts = document.querySelectorAll('.wp-block-ap-block-posts');\r\n Object.values(allApbPosts).map(posts => {\r\n const postsId = posts.id;\r\n\r\n // Slider\r\n const sliderEl = document.querySelector(`#${postsId} .apbSliderPosts`);\r\n if (sliderEl) {\r\n const { layout, columns, columnGap, sliderIsLoop, sliderIsTouchMove, sliderIsAutoplay, sliderSpeed, sliderEffect, sliderIsPageClickable, sliderIsPageDynamic } = JSON.parse(sliderEl.dataset.slider);\r\n\r\n 'slider' === layout && new Swiper(sliderEl, {\r\n // Optional parameters\r\n direction: 'horizontal',\r\n slidesPerView: columns?.mobile,\r\n breakpoints: {\r\n // when window width is >= 576px\r\n 576: { slidesPerView: columns?.tablet },\r\n // when window width is >= 768px\r\n 768: { slidesPerView: columns?.desktop },\r\n },\r\n spaceBetween: columnGap,\r\n loop: sliderIsLoop,\r\n allowTouchMove: sliderIsTouchMove,\r\n grabCursor: sliderIsTouchMove,\r\n autoplay: sliderIsAutoplay ? { delay: sliderSpeed * 1000 } : false,\r\n speed: sliderSpeed * 1000,\r\n effect: sliderEffect,\r\n fadeEffect: { crossFade: true },\r\n creativeEffect: {\r\n prev: {\r\n shadow: true,\r\n translate: ['-120%', 0, -500],\r\n },\r\n next: {\r\n shadow: true,\r\n translate: ['120%', 0, -500],\r\n }\r\n },\r\n allowSlideNext: true,\r\n allowSlidePrev: true,\r\n autoHeight: false,\r\n notificationClass: null,\r\n\r\n // Controllers\r\n pagination: {\r\n el: '.swiper-pagination',\r\n clickable: sliderIsPageClickable,\r\n dynamicBullets: sliderIsPageDynamic\r\n },\r\n navigation: {\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev',\r\n }\r\n });\r\n }\r\n\r\n const slideHeightArray = [];\r\n const swiperSlide = document.querySelectorAll(`#${postsId} .apbSliderPosts .swiper-slide`);\r\n const swiperSlideText = document.querySelectorAll(`#${postsId} .apbSliderPosts .swiper-slide .apbPostText`);\r\n swiperSlideText.length && swiperSlideText.forEach(slideText => {\r\n slideHeightArray.push(slideText?.clientHeight);\r\n });\r\n swiperSlide.length && swiperSlide.forEach(slide => {\r\n slide.style.height = `${Math.max(...slideHeightArray)}px`;\r\n });\r\n\r\n // Remove data slider attributes\r\n sliderEl?.removeAttribute('data-slider');\r\n\r\n // Ticker\r\n const tickerEl = document.querySelector(`#${postsId} .apbTickerPosts`);\r\n if (tickerEl) {\r\n const { rowGap, tickerDirection, tickerSpeed, tickerInterval, tickerHeight, tickerVisible, tickerIsMousePause } = JSON.parse(tickerEl.dataset.ticker);\r\n\r\n $(tickerEl).easyTicker({\r\n direction: tickerDirection,\r\n easing: 'swing',\r\n speed: isNaN(tickerSpeed) ? tickerSpeed : parseInt(tickerSpeed),\r\n interval: tickerInterval,\r\n height: '0px' === tickerHeight || '0em' === tickerHeight ? 'auto' : tickerHeight,\r\n gap: rowGap,\r\n visible: tickerVisible,\r\n mousePause: tickerIsMousePause\r\n });\r\n }\r\n\r\n // Remove data ticker attributes\r\n tickerEl?.removeAttribute('data-ticker');\r\n\r\n // Posts Pagination\r\n const paginationEl = document.querySelector(`#${postsId} .apbPagination`);\r\n if (paginationEl) {\r\n const { subLayout, postsPerPage, paginationLength, paginationPrevLabel, paginationNextLabel } = JSON.parse(paginationEl.dataset.pagination);\r\n let paginationCurrentPage = 0;\r\n\r\n // Display Posts based on pagination\r\n const paginationPostDisplay = () => {\r\n const allSinglePost = document.querySelectorAll(`#${postsId} .apbPost`);\r\n allSinglePost.forEach(singlePost => {\r\n singlePost.style.display = 'none';\r\n });\r\n\r\n const paginationShowStart = postsPerPage * paginationCurrentPage;\r\n const paginationShowEnd = paginationShowStart + postsPerPage;\r\n\r\n const paginationPosts = Array.from(allSinglePost)?.slice(paginationShowStart, paginationShowEnd);\r\n paginationPosts.map(singlePost => {\r\n singlePost.style.display = 'left-image' === subLayout || 'right-image' === subLayout ? (1 === singlePost.childElementCount ? 'flex' : 'grid') : 'block';\r\n });\r\n }\r\n paginationPostDisplay();\r\n\r\n\r\n // Edit Pagination Page\r\n const elEditInPagination = (li, className, innerText) => {\r\n li.classList.add(className);\r\n li.innerText = innerText;\r\n 'apbPagePrev' === className ? paginationEl.prepend(li) : paginationEl.appendChild(li);\r\n }\r\n\r\n // Prev Next Generate\r\n const paginationPrevNextGenerate = (pageEl, appendCondition, className, label, remCondition) => {\r\n appendCondition && elEditInPagination(pageEl, className, label);\r\n const selectPageEl = document.querySelector(`#${postsId} .apbPagination .${className}`);\r\n remCondition && selectPageEl && paginationEl.removeChild(pageEl);\r\n }\r\n\r\n // Pagination Page Event\r\n const paginationPageClick = (currentPageVal) => {\r\n paginationCurrentPage = currentPageVal;\r\n paginationPostDisplay();\r\n\r\n paginationPrevNextGenerate(pagePrevEl, 0 !== paginationCurrentPage, 'apbPagePrev', paginationPrevLabel, 0 == paginationCurrentPage);\r\n\r\n const pageNumberEl = document.querySelectorAll(`#${postsId} .apbPagination .apbPageNumber`);\r\n for (let i = 0; i < pageNumberEl?.length; i++) {\r\n i === paginationCurrentPage ? pageNumberEl[i].classList.add('apbActivePage') : pageNumberEl[i].classList.remove('apbActivePage');\r\n }\r\n\r\n paginationPrevNextGenerate(pageNextEl, paginationLength !== paginationCurrentPage + 1, 'apbPageNext', paginationNextLabel, paginationLength == paginationCurrentPage + 1);\r\n\r\n // Go to top when page click\r\n const portWrapper = document.getElementById(postsId);\r\n window.scrollTo({\r\n top: portWrapper.offsetTop,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n\r\n // Pagination Prev\r\n const pagePrevEl = document.createElement('li');\r\n pagePrevEl.addEventListener('click', () => paginationPageClick(paginationCurrentPage - 1));\r\n\r\n // Pagination Numbers\r\n [...Array(paginationLength)].map((el, index) => {\r\n const pageNumberEl = document.createElement('li');\r\n elEditInPagination(pageNumberEl, 'apbPageNumber', index + 1);\r\n\r\n document.querySelectorAll(`#${postsId} .apbPagination .apbPageNumber`)[0].classList.add('apbActivePage');\r\n\r\n pageNumberEl.addEventListener('click', () => paginationPageClick(index));\r\n });\r\n\r\n // Pagination Next\r\n const pageNextEl = document.createElement('li');\r\n pageNextEl.addEventListener('click', () => paginationPageClick(paginationCurrentPage + 1));\r\n paginationLength !== paginationCurrentPage + 1 && elEditInPagination(pageNextEl, 'apbPageNext', paginationNextLabel);\r\n\r\n // Remove data pagination attributes\r\n paginationEl.removeAttribute('data-pagination');\r\n }\r\n });\r\n});"],"names":["$","jQuery","document","addEventListener","allApbPosts","querySelectorAll","Object","values","map","posts","postsId","id","sliderEl","querySelector","JSON","parse","dataset","slider","layout","columns","columnGap","sliderIsLoop","sliderIsTouchMove","sliderIsAutoplay","sliderSpeed","sliderEffect","sliderIsPageClickable","sliderIsPageDynamic","Swiper","direction","slidesPerView","mobile","breakpoints","tablet","desktop","spaceBetween","loop","allowTouchMove","grabCursor","autoplay","delay","speed","effect","fadeEffect","crossFade","creativeEffect","prev","shadow","translate","next","allowSlideNext","allowSlidePrev","autoHeight","notificationClass","pagination","el","clickable","dynamicBullets","navigation","nextEl","prevEl","slideHeightArray","swiperSlide","swiperSlideText","length","forEach","slideText","push","clientHeight","slide","style","height","Math","max","removeAttribute","tickerEl","ticker","rowGap","tickerDirection","tickerSpeed","tickerInterval","tickerHeight","tickerVisible","tickerIsMousePause","easyTicker","easing","isNaN","parseInt","interval","gap","visible","mousePause","paginationEl","subLayout","postsPerPage","paginationLength","paginationPrevLabel","paginationNextLabel","paginationCurrentPage","paginationPostDisplay","allSinglePost","singlePost","display","paginationShowStart","paginationShowEnd","Array","from","slice","childElementCount","elEditInPagination","li","className","innerText","classList","add","prepend","appendChild","paginationPrevNextGenerate","pageEl","appendCondition","label","remCondition","selectPageEl","removeChild","paginationPageClick","currentPageVal","pagePrevEl","pageNumberEl","i","remove","pageNextEl","portWrapper","getElementById","window","scrollTo","top","offsetTop","behavior","createElement","index"],"sourceRoot":""}