1( function( $ ) { 2 3 var pxl_swiper_handler = function( $scope, $ ) { 4 5 var breakpoints = elementorFrontend.config.breakpoints, 6 carousel = $scope.find(".pxl-swiper-container"); 7 if(carousel.length == 0){ 8 return false; 9 } 10 11 /* Arrow Custom */ 12 $('.pxl-swiper-arrow-custom').parents('.pxl-swiper-sliders').addClass('pxl--hide-arrow'); 13 $('.pxl-navigation-carousel').parents('.elementor-section').addClass('pxl--hide-arrow'); 14 setTimeout(function() { 15 $('.pxl-swiper-arrow-custom.pxl-swiper-arrow-next').on('click', function () { 16 $(this).parents('.pxl-swiper-sliders').find('.pxl-swiper-arrow-main.pxl-swiper-arrow-next').trigger('click'); 17 }); 18 $('.pxl-swiper-arrow-custom.pxl-swiper-arrow-prev').on('click', function () { 19 $(this).parents('.pxl-swiper-sliders').find('.pxl-swiper-arrow-main.pxl-swiper-arrow-prev').trigger('click'); 20 }); 21 }, 300); 22 23 setTimeout(function() { 24 $('.pxl-navigation-carousel .pxl-navigation-arrow-prev').on('click', function () { 25 $(this).parents('.elementor-section').find('.pxl-swiper-arrow.pxl-swiper-arrow-prev').trigger('click'); 26 }); 27 $('.pxl-navigation-carousel .pxl-navigation-arrow-next').on('click', function () { 28 $(this).parents('.elementor-section').find('.pxl-swiper-arrow.pxl-swiper-arrow-next').trigger('click'); 29 }); 30 }, 300); 31 32 /* Main Slider */ 33 var data = carousel.data(), 34 settings = data.settings, 35 carousel_settings = { 36 direction: settings['slide_direction'], 37 effect: settings['slide_mode'], 38 wrapperClass : 'pxl-swiper-wrapper', 39 slideClass: 'pxl-swiper-slide', 40 slidesPerView: settings['slides_to_show'], 41 slidesPerGroup: settings['slides_to_scroll'], 42 slidesPerColumn: settings['slide_percolumn'], 43 spaceBetween: 0, 44 navigation: {
45 nextEl: $scope.find(".pxl-swiper-arrow-next"), 46 prevEl: $scope.find(".pxl-swiper-arrow-prev"), 47 }, 48 pagination : { 49 el: $scope.find(".pxl-swiper-dots"), 50 clickable : true, 51 modifierClass: 'pxl-swiper-pagination-', 52 bulletClass : 'pxl-swiper-pagination-bullet', 53 renderCustom: function (swiper, element, current, total) { 54 return current + ' of ' + total; 55 }, 56 type: settings['pagination_type'], 57 }, 58 speed: settings['speed'], 59 watchSlidesProgress: true, 60 watchSlidesVisibility: true, 61 breakpoints: { 62 0 : { 63 slidesPerView: settings['slides_to_show_xs'], 64 slidesPerGroup: settings['slides_to_scroll'], 65 }, 66 576 : { 67 slidesPerView: settings['slides_to_show_sm'], 68 slidesPerGroup: settings['slides_to_scroll'], 69 }, 70 768 : { 71 slidesPerView: settings['slides_to_show_md'], 72 slidesPerGroup: settings['slides_to_scroll'], 73 }, 74 1025 : { 75 slidesPerView: settings['slides_to_show_lg'], 76 slidesPerGroup: settings['slides_to_scroll'], 77 }, 78 1200 : { 79 slidesPerView: settings['slides_to_show'], 80 slidesPerGroup: settings['slides_to_scroll'], 81 }, 82 1600 : { 83 slidesPerView: settings['slides_to_show_xxl'], 84 slidesPerGroup: settings['slides_to_scroll'], 85 } 86 } 87 }; 88 // center 89 if(settings['center'] === 'true'){ 90 carousel_settings['centeredSlides'] = true; 91 } 92 // effect 93 if(settings['slide_mode'] === 'fade'){ 94 carousel_settings['fadeEffect'] = { 95 crossFade: true 96 }; 97 } 98 // loop 99 if(settings['loop'] === 'true'){ 100 carousel_settings['loop'] = true; 101 } 102 // auto play 103 if(settings['autoplay'] === 'true'){ 104 carousel_settings['autoplay'] = { 105 delay : settings['delay'], 106 disableOnInteraction : settings['pause_on_interaction'] 107 }; 108 } else { 109 carousel_settings['autoplay'] = false; 110 } 111 112 carousel.each(function(index, element) { 113
114 var carousel_thumb = $scope.find(".pxl-swiper-thumbs"); 115 var center = $scope.find(".pxl-swiper-thumbs").data("center"); 116 var loop = $scope.find(".pxl-swiper-thumbs").data("loop"); 117 var thumbxs = $scope.find(".pxl-swiper-thumbs").data("thumbxs"); 118 var thumbsm = $scope.find(".pxl-swiper-thumbs").data("thumbsm"); 119 var thumbmd = $scope.find(".pxl-swiper-thumbs").data("thumbmd"); 120 var thumblg = $scope.find(".pxl-swiper-thumbs").data("thumblg"); 121 if (carousel_thumb.length > 0) { 122 var galleryThumbs = new Swiper(carousel_thumb, { 123 spaceBetween: 0, 124 slidesPerView: 3, 125 freeMode: true, 126 watchSlidesProgress: true, 127 centeredSlides: center, 128 loop: loop, 129 breakpoints: { 130 0 : { 131 slidesPerView: typeof thumbxs !== 'undefined' ? thumbxs : 1, 132 }, 133 576 : { 134 slidesPerView: typeof thumbsm !== 'undefined' ? thumbsm : 2, 135 }, 136 768 : { 137 slidesPerView: typeof thumbmd !== 'undefined' ? thumbmd : 3, 138 }, 139 1025 : { 140 slidesPerView: typeof thumblg !== 'undefined' ? thumblg : 3, 141 }, 142 } 143 }); 144 carousel_settings['thumbs'] = { swiper: galleryThumbs }; 145 } 146 147 var swiper = new Swiper(carousel, carousel_settings); 148 149 if(settings['autoplay'] === 'true' && settings['pause_on_hover'] === 'true'){ 150 $(this).on({ 151 mouseenter: function mouseenter() { 152 this.swiper.autoplay.stop(); 153 }, 154 mouseleave: function mouseleave() { 155 this.swiper.autoplay.start(); 156 } 157 }); 158 } 159 160 $scope.find(".swiper-filter-wrap .filter-item").on("click", function(){ 161 var target = $(this).attr('data-filter-target'); 162 var parent = $(this).closest('.pxl-swiper-sliders'); 163 $(this).siblings().removeClass("active"); 164 $(this).addClass("active"); 165 166 if(target == "all"){ 167 parent.find("[data-filter]").removeClass("non-swiper-slide").addClass("swiper-slide-filter"); 168 swiper.destroy(); 169 swiper = new Swiper(carousel, carousel_settings); 170 } else { 171 172 parent.find(".swiper-slide-filter").not("[data-filter^='"+target+"'], [data-filter*=' "+target+"']").addClass("non-swiper-slide").removeClass("swiper-slide-filter"); 173 parent.find("[data-filter^='"+target+"'], [data-filter*=' "+target+"']").removeClass("non-swiper-slide").addClass("swiper-slide-filter"); 174 swiper.destroy(); 175 swiper = new Swiper(carousel, carousel_settings); 176 } 177 }); 178 179 $('.swiper-filter-wrap').parents('.pxl-swiper-sliders').addClass('swiper-filter-active'); 180 181 }); 182 183 }; 184 185 // Make sure you run this code under Elementor. 186 $( window ).on( 'elementor/frontend/init', function() { 187 // Swipers 188 elementorFrontend.hooks.addAction( 'frontend/element_ready/post_carousel.default', pxl_swiper_handler ); 189 elementorFrontend.hooks.addAction( 'frontend/element_ready/team_carousel.default', pxl_swiper_handler ); 190 elementorFrontend.hooks.addAction( 'frontend/element_ready/testimonial_carousel.default', pxl_swiper_handler ); 191 elementorFrontend.hooks.addAction( 'frontend/element_ready/partner_carousel.default', pxl_swiper_handler ); 192 elementorFrontend.hooks.addAction( 'frontend/element_ready/team_carousel.default', pxl_swiper_handler ); 193 elementorFrontend.hooks.addAction( 'frontend/element_ready/gallery_carousel.default', pxl_swiper_handler ); 194 elementorFrontend.hooks.addAction( 'frontend/element_ready/history_carousel.default', pxl_swiper_handler ); 195 elementorFrontend.hooks.addAction( 'frontend/element_ready/tabs_carousel.default', pxl_swiper_handler ); 196 } ); 197} )( jQuery );
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.