1jQuery(window).on('elementor/frontend/init', function () { 2 elementorFrontend.hooks.addAction('frontend/element_ready/rkit-woo_product_carousel.default', function ($scope, $) { 3 const slider = $scope.find('.swiper'); 4 if (!slider.length) return; 5 6 const config = slider.data('config') || { 7 rtl: false, 8 arrows: true, 9 dots: false, 10 speed: 1000, 11 slidesPerGroup: 1, 12 slidesPerView: 3, 13 loop: false, 14 watchOverflow: true, 15 breakpoints: { 16 320: { slidesPerView: 1, slidesPerGroup: 1, spaceBetween: 10 }, 17 768: { slidesPerView: 2, slidesPerGroup: 1, spaceBetween: 10 }, 18 1025: { slidesPerView: 3, slidesPerGroup: 1, spaceBetween: 15 }, 19 } 20 }; 21 const nextButton = $scope.find('.rkit-swiper-button-next-woo-product-carousel')[0]; 22 const prevButton = $scope.find('.rkit-swiper-button-prev-woo-product-carousel')[0]; 23 const paginationEl = $scope.find('.rkit-woo-product-carousel-pagination')[0]; 24 25 console.log('slider:', slider); 26 console.log('config:', config); 27 console.log('nextButton:', nextButton); 28 console.log('prevButton:', prevButton); 29 console.log('paginationEl:', paginationEl); 30 31 const swiper = new Swiper(slider[0], { 32 ...config, 33 grabCursor: true, 34 initialSlide: config.initial_slide || 0, 35 watchOverflow: true, 36 updateOnWindowResize: true, 37 navigation: { 38 nextEl: nextButton, 39 prevEl: prevButton, 40 }, 41 pagination: { 42 el: paginationEl, 43 type: 'bullets', 44 clickable: true, 45 bulletClass: 'rkit-woo-carousel-bullet', 46 bulletActiveClass: 'rkit-woo-carousel-bullet-active', 47 clickableClass: 'rkit-woo-carousel-bullet-clickable', 48 }, 49 on: { 50 init: function () { 51 // Hapus kelas jika swiper bisa di-scroll 52 const swiperNav = $scope.find('.swiper')[0]; 53 if (this.isBeginning && this.isEnd) { 54 swiperNav.classList.add('swiper-navigation-disabled'); 55 } else { 56 swiperNav.classList.remove('swiper-navigation-disabled'); 57 } 58 }, 59 } 60 }); 61 62 63 console.log('swiper:', swiper); 64 65 // Jika dots false, sembunyikan pagination secara manual 66 if (!config.dots && paginationEl) { 67 paginationEl.style.margin = '0'; 68 paginationEl.style.padding = '0'; 69 paginationEl.style.position = 'absolute'; 70 paginationEl.style.opacity = '0'; 71 paginationEl.style.pointerEvents = 'none'; 72 paginationEl.style.height = '0'; 73 paginationEl.style.overflow = 'hidden'; 74 } 75 76 77 78 }); 79});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.