1/** 2 * Start gallery carousel widget script 3 */ 4 5(function ($) { 6 /** 7 * @param $scope The Widget wrapper element as a jQuery element 8 * @param $ The jQuery alias 9 */ 10 11 var WidgetPostsCarousel = function ($scope, $) { 12 var $carouselContainer = $scope.find(".owl-carousel-container"); 13 var $carousel = $carouselContainer.find(".owl-carousel.posts-slider"); 14 15 if (!$carousel.length) { 16 return; 17 } 18 19 if (!$().owlCarousel) { 20 return; 21 } 22 23 var loop = $carousel.data('loop') ? $carousel.data('loop') : false; 24 var margin = ($carousel.data('margin') || $carousel.data('margin') == 0) ? $carousel.data('margin') : 30; 25 var nav = $carousel.data('nav') ? $carousel.data('nav') : false; 26 var dots = $carousel.data('dots') ? $carousel.data('dots') : false; 27 var themeClass = $carousel.data('themeclass') ? $carousel.data('themeclass') : 'owl-theme'; 28 var center = $carousel.data('center') ? $carousel.data('center') : false; 29 var items = $carousel.data('items') ? $carousel.data('items') : 4; 30 var autoplay = $carousel.data('autoplay') ? $carousel.data('autoplay') : false; 31 var autoplayTimeout = $carousel.data('autoplaytimeout') ? $carousel.data('autoplaytimeout') : 3000; 32 var autoplayHoverPause = $carousel.data('autoplayhoverpause') ? $carousel.data('autoplayhoverpause') : false; 33 var responsiveXs = $carousel.data('responsive-xs') ? $carousel.data('responsive-xs') : 1; 34 var responsiveSm = $carousel.data('responsive-sm') ? $carousel.data('responsive-sm') : 2; 35 var responsiveLg = $carousel.data('responsive-lg') ? $carousel.data('responsive-lg') : 4; 36 var filters = $carousel.data('filters') ? $carousel.data('filters') : false; 37 var prev = $carousel.data('prev') ? $carousel.data('prev') : false; 38 var next = $carousel.data('next') ? $carousel.data('next') : false; 39 var navContainer = $carousel.data('nav-container') ? $carousel.data('nav-container') : false; 40 41 if (filters) { 42 $carousel.after($carousel.clone().addClass('owl-carousel-filter-cloned')); 43 $(filters).on('click', 'a', function (e) { 44 //processing filter link 45 e.preventDefault(); 46 if ($(this).hasClass('selected')) { 47 return; 48 } 49 var filterValue = $(this).attr('data-filter'); 50 $(this).siblings().removeClass('selected active'); 51 $(this).addClass('selected active'); 52 53 //removing old items 54 $carousel.find('.owl-item').length; 55 for (var i = $carousel.find('.owl-item').length - 1; i >= 0; i--) { 56 $carousel.trigger('remove.owl.carousel', [1]); 57 }; 58 59 //adding new items 60 var $filteredItems = $($carousel.next().find(' > ' + filterValue).clone()); 61 $filteredItems.each(function () { 62 $carousel.trigger('add.owl.carousel', $(this)); 63 $(this).addClass('scaleAppear'); 64 }); 65 66 $carousel.trigger('refresh.owl.carousel'); 67 }); 68 } //filters 69 70 $carousel.owlCarousel({ 71 loop: loop, 72 margin: margin, 73 nav: nav, 74 navText: [prev, next], 75 autoplay: autoplay, 76 autoplayTimeout: autoplayTimeout, 77 autoplayHoverPause: autoplayHoverPause, 78 dots: dots, 79 themeClass: themeClass, 80 center: center, 81 items: items, 82 navContainer: navContainer, 83 responsive: { 84 0: { 85 items: responsiveXs 86 }, 87 767: { 88 items: responsiveSm 89 }, 90 1200: { 91 items: responsiveLg 92 }, 93 }, 94 }) 95 .addClass(themeClass); 96 if (center) { 97 $carousel.addClass('owl-center'); 98 } 99 }; 100 101 $(window).on('elementor/frontend/init', function () { 102 elementorFrontend.hooks.addAction( 103 'frontend/element_ready/posts-carousel.default', 104 WidgetPostsCarousel 105 ); 106 }); 107})(jQuery); 108 109/** 110 * End gallery carousel widget script 111 */
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.