1/** 2 * OwlCarousel 2 - Filter 3 * @author Bear 4 * @version 1.0 5 * 6 */ 7 8;( function( root, factory ) { 9 10 if( typeof exports === "object" ) { 11 module.exports = factory( root.jQuery ) 12 } else { 13 root.owlcarousel2_filter = factory( root.jQuery ); 14 } 15 16} ) ( window, function( $, args ) { 17 18 'use strict'; 19 20 var OwlCarousel2_Filter = function( filter, $args ) { 21 22 var owl = this; 23 var owl_object = owl.data( 'owl.carousel' ); 24 var owl_settings = owl_object.settings; 25 26 // Destroy OwlCarousel 27 owl.trigger( 'destroy.owl.carousel' ); 28 29 // Clone 30 if( ! owl.oc2_filter_clone ) { 31 owl.oc2_filter_clone = owl.clone(); 32 } 33 34 // Filter elements and clone 35 var clone_filter_items = owl.oc2_filter_clone.children( filter ).clone(); 36 37 if($args) { 38 clone_filter_items.addClass('owl-loading'); 39 } 40 41 // Put filter items and re-call OwlCarousel 42 owl.empty().append( clone_filter_items ).owlCarousel( owl_settings ); 43 44 if($args){ 45 if(owl_settings.loop) { 46 var $anim_items = owl.find('.owl-item.active .owl-animate'); 47 owl.find('.owl-item:not(.active) .owl-animate').removeClass('owl-loading'); 48 $anim_items.each(function(){ return owlAnimateFilter($(this), $anim_items); }); 49 } else { 50 clone_filter_items.each(function(){ return owlAnimateFilter($(this), clone_filter_items); }); 51 } 52 } 53 } 54 55 var owlAnimateFilter = function($elm, $items) { 56 $elm 57 .delay(50 * $items.index($elm)) 58 .queue(function() { 59 $elm.dequeue().removeClass('owl-loading') 60 }) 61 }; 62 63 $.fn.owlcarousel2_filter = OwlCarousel2_Filter; 64 65} ); 66 67$(function() { 68 var $window = $(window); 69 70 $('.owl-carousel:not(.ignore)').each(function(){ 71 var $owl = $(this).addClass('owl-init'), 72 $owl_flex_cont = $owl.closest('.owl-flex-cont'), 73 autowidth = $(this).data('owl-autowidth') || false, 74 $owl_filter = ($(this).data('owl-filter')) ? $( $(this).data('owl-filter') + ' [data-owl-filtering-item]' ) : null, 75 $owl_current = $( $(this).data('owl-filter') + ' [data-owl-filtering-current]' ), 76 owl_dots = $(this).data('owl-dots') || '', 77 respo = {}; 78 79 $owl.owlCarousel({ 80 center: false, 81 items: $(this).data('owl-show'), 82 loop: $(this).data('owl-infinite') || false, 83 margin:0, 84 startPosition: 0, 85 autoWidth: true, 86 mouseDrag: false, 87 dots: (owl_dots.length) ? true : false, 88 dotsContainer: owl_dots, 89 doubleclone: $(this).data('owl-infinite') || false, 90 rewind: $(this).data('owl-infinite') || false, 91 nav: $(this).data('owl-nav') || true, 92 navText: ['<svg class="sico"><use xlink:href="/layout/icons.svg#s_a_l"/></svg>', 93 '<svg class="sico"><use xlink:href="/layout/icons.svg#s_a_r"/></svg>'], 94 onRefreshed: function(e){ 95 if(autowidth) { 96 stage = $('.owl-stage', $owl); 97 stage.width('auto'); 98 } 99 }, 100 onInitialize: function(){ 101 $owl_flex_cont.addClass('ready'); 102 } 103 }); 104 105 if($owl.data('owl-slideby-tablet')) { 106 var changed = false; 107 if(~WINsize.indexOf('tablet')) { 108 $owl.data('owl.carousel').options.slideBy = $owl.data('owl-slideby-tablet'); 109 $owl.trigger('refresh.owl.carousel'); 110 changed = true; 111 } 112 $window.on('resize', function(){ 113 if(~WINsize.indexOf('tablet')) { 114 if(!changed) { 115 $owl.data('owl.carousel').options.slideBy = $owl.data('owl-slideby-tablet'); 116 $owl.trigger('refresh.owl.carousel'); 117 changed = true; 118 } 119 } else { 120 if(changed) { 121 $owl.data('owl.carousel').options.slideBy = 1; 122 $owl.trigger('refresh.owl.carousel'); 123 changed = false; 124 } 125 } 126 }); 127 } 128 129 if($owl_filter){ 130 if($owl.hasClass('only-c-owl1')) { 131 $owl.owlcarousel2_filter( '.c-owl1', false ); 132 } 133 134 $owl_filter.on('click', function(e){ 135 e.preventDefault(); 136 var $this = $(this); 137 if(!$this.hasClass('sactive')){ 138 $owl_filter.removeClass('sactive'); 139 $this.addClass('sactive'); 140 $owl_current.html( $this.data('owl-filtering-name') || $this.html() ); 141 142 $owl.owlcarousel2_filter( $this.data('owl-filtering-item'), true ); 143 window.fns.trigger(';mouseup.clicker'); 144 } 145 }); 146 147 } 148 }); 149 150 //IMAGE SLIDER 151 $('.slider_image:not(.ignore)').each(function(){ 152 var $slider = $(this), 153 $par = $slider.closest('.slider_image_cont'), 154 $dots = $par.find('.slider_image_dots'), 155 prependdot = $slider.data('slick-prependdot') || ''; 156 157 $slider.slick({ 158 dots: !!$dots.length, 159 infinite: true, 160 autoplay: false, 161 slidesToShow: 1, 162 draggable:false, 163 speed: 700, 164 fade: true,
165 arrows: false, 166 touchMove: false, 167 appendDots: $dots, 168 customPaging: function(slider, i) { 169 return $('<button type="button" />').html(prependdot + "<span>"+(i + 1)+"</span>"); 170 } 171 }); 172 173 }); 174 175});
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.