%PDF- %PDF-
Direktori : /var/www/businessmultisite/wp-content/themes/stripes_weekly/src/js/ |
Current File : /var/www/businessmultisite/wp-content/themes/stripes_weekly/src/js/app.js |
import $ from "jquery" import Swiper, { Autoplay } from 'swiper'; Swiper.use([Autoplay]); import 'swiper/css' import { gsap } from "gsap"; import { ScrollTrigger } from "gsap/ScrollTrigger"; import { ScrollToPlugin } from "gsap/ScrollToPlugin"; gsap.registerPlugin(ScrollTrigger); gsap.registerPlugin(ScrollToPlugin); import "jquery.scrollbar/jquery.scrollbar.js"; import "jquery.scrollbar/jquery.scrollbar.css"; import axios from "axios"; import shareButtons from "share-buttons"; // import "./utils/bootstrapGrid" import "../scss/main.scss"; $(function($) { console.log('init'); $('.scrollbar_js').scrollbar(); const main = { ticker() { let totalWidth = 0; $('.header--ticker--marquee li').each(function() { totalWidth += $(this).outerWidth() + 15; }); $('.header--ticker--marquee ul').append($('.header--ticker--marquee ul').html()); gsap.to('.header--ticker--marquee ul', {duration: totalWidth / 75, x: totalWidth * -1, ease: 'none', repeat: -1}); }, articleSerieSwiper(swipers = [...document.querySelectorAll('.article-card .article-item--serie--list')]) { swipers.forEach((slider, index) => { const id = 'swiper'+Date.now() + index; slider.setAttribute('id', id); new Swiper('#'+id, { slidesPerView: "auto", breakpoints: { 320: { spaceBetween: 20, }, 768: { spaceBetween: 10, } } }); }); }, articleSerieSwiperSingle(swipers = [...document.querySelectorAll('.post-type-articles .article-item--serie--list')]) { swipers.forEach((slider, index) => { const id = 'swiper'+Date.now() + index; slider.setAttribute('id', id); new Swiper('#'+id, { breakpoints: { 320: { spaceBetween: 20, slidesPerView: "auto", }, 1000: { spaceBetween: 30, slidesPerView: 3, } } }); }); }, categoryPage() { document.querySelectorAll('.category-header--title.category-header--has-neighbors').forEach(button => { button.addEventListener('click', e => { button.parentNode.querySelector('.category-header--selector').classList.toggle('category-header--selector--visible'); }); }); document.querySelectorAll('.category-header--selector--close').forEach(button => { button.addEventListener('click', e => { button.closest('.category-header--selector').classList.remove('category-header--selector--visible'); }); }); document.addEventListener('click', e => { if(document.querySelector('.category-header--title') && document.querySelector('.category-header--selector') && !e.target.closest('.category-header--title') && !e.target.closest('.category-header--selector')) { document.querySelector('.category-header--selector').classList.remove('category-header--selector--visible'); } }); }, burger() { document.querySelectorAll('.header--main--top--sidebar-toggle, .sticky-header--sidebar-toggle, .burger-menu--header--close, .burger-menu--overlay').forEach(button => { button.addEventListener('click', e => { document.querySelector('.burger-menu').classList.toggle('burger-menu--show'); document.querySelector('body').classList.toggle('overflow-hidden'); $('.burger-menu--overlay').fadeToggle(); }); }); }, loadMore() { const loadMoreButtons = document.querySelectorAll('.load-more-posts'); loadMoreButtons.forEach(loadMoreButton => { loadMoreButton.addEventListener('click', e => { loadMoreButton.disabled = true; const icon = loadMoreButton.querySelector('i'); icon.setAttribute('data-class', icon.getAttribute('class')); icon.setAttribute('class', 'fas fa-sync fa-spin'); const formData = new FormData(); formData.append('action', 'load_more_posts'); for (const [key, value] of Object.entries(loadMoreButton.dataset)) { formData.append(key, value); } axios.post(theme.ajaxurl, formData, { }) .then(response => { loadMoreButton.disabled = false; icon.setAttribute('class', icon.getAttribute('data-class')); icon.removeAttribute('data-class'); if(response.data.html) { const tmp = document.createElement('div'); tmp.innerHTML = response.data.html; [...tmp.childNodes].forEach(article => { const insertedArticle = loadMoreButton.parentNode.parentNode.insertBefore(article, loadMoreButton.parentNode); insertedArticle.classList.add('animate__animated','animate__fadeInUp'); this.articleSerieSwiper([...insertedArticle.querySelectorAll('.article-item--serie--list')]); }); } if(response.data.hide_load_more) { loadMoreButton.parentNode.style.display = 'none'; } if(response.data.offset) { loadMoreButton.setAttribute('data-offset', response.data.offset); } console.log(response); }) .catch(error => { alert(error); }); }); }); }, stickyMenu() { $(document).scroll(function () { var scrollTop = $(document).scrollTop(); if (300 < scrollTop) { $('.sticky-header').addClass('sticky-header--show'); } else { $('.sticky-header').removeClass('sticky-header--show'); } }); }, init() { this.burger(); this.categoryPage(); this.articleSerieSwiper(); this.articleSerieSwiperSingle(); this.ticker(); this.loadMore(); this.stickyMenu(); } } main.init(); let savedArticles = function () { let buttons = $('.article-save-btn'); function getCookie(name) { let matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )); return matches ? decodeURIComponent(matches[1]) : undefined; } function setCookie(name, value) { document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + ";path=/saved-articles;expires=Thu, 01 Jan 1970 00:00:00 GMT" document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + ";path=/"; } function getSelectedArticles() { let cookie_data = getCookie('selected_articles') if (cookie_data !== undefined) { cookie_data = cookie_data.split(',') cookie_data = cookie_data.map(el => parseInt(el.trim())) cookie_data = cookie_data.filter(el => !isNaN(el)) return cookie_data } return [] } function changeArticleState(id) { id = parseInt(id) let articles = getSelectedArticles() if (articles.includes(id)) { articles = articles.filter((el) => el !== id) } else { articles.push(id) } setCookie('selected_articles', articles) updateCountArticles(); } function updateArticles() { let articles = getSelectedArticles() console.log(articles) $('.article-save-btn').removeClass('active') articles.forEach((el) => { $('.article-save-btn[data-post-id="' + el + '"]').addClass('active') }) updateCountArticles(); } function updateCountArticles() { let postsId = getSelectedArticles(); console.log(postsId); $.ajax({ url: theme.ajaxurl, data: { action: 'get_saved_size', postsId: postsId }, type: "post", success: function (data) { let postCount = parseInt(data); $('.saved-posts_count-js span').html(postCount); if (!postCount) { $('#header-saved-posts').hide(); } else { $('#header-saved-posts').show(); } }, }); } $(document).on('click', '.article-save-btn', function () { let id = $(this).attr('data-post-id') if (id !== undefined && !isNaN(id)) { $(this).toggleClass('active') changeArticleState(id) } }); updateArticles() if ($("#saved-articles").length) { document.cookie = encodeURIComponent("selected_articles") + "=" + encodeURIComponent("1") + ";path=/saved-articles;expires=Thu, 01 Jan 1970 00:00:00 GMT" let postsId = getSelectedArticles(); console.log(postsId) // $.ajax({ // url: theme.ajaxurl, // data: { // action: "saved_articles", // postsId: postsId // }, // type: "post", // success: function (data) { // $("#saved-articles").html(data); // $('.article-save-btn').click(function () { // let id = $(this).attr('data-post_id') // if (id !== undefined && !isNaN(id)) { // $(this).toggleClass('active') // changeArticleState(id) // } // }) // }, // }); const formData = new FormData(); formData.append('action', 'saved_articles'); formData.append('postsId', postsId); axios.post(theme.ajaxurl, formData, { }) .then(response => { $("#saved-articles").html(response.data.html); console.log(response); }) .catch(error => { alert(error); }); } } savedArticles(); const setCookie = function(name,value,days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } const getCookie = function(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } const eraseCookie = function(name) { document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } const cookiePopup = document.querySelector('.cookies-popup'); if(cookiePopup) { setTimeout(() => { if(!getCookie('cookiePopup')) { cookiePopup.classList.remove('cookies-popup--hidden'); } }, 1000); } const closeCookiePopup = document.querySelectorAll('.cookies--header--close, .cookies-popup--footer--accept, .cookies-popup--footer--close'); closeCookiePopup.forEach(button => { button.addEventListener('click', e => { cookiePopup.classList.add('cookies-popup--hidden'); if(button.classList.contains('cookies-popup--footer--accept')) { setCookie('cookiePopup',1,180); } }); }); });