PageSourceSearch

https://ferimex.sk/frontend/js/carousels.js?v=1791293614

js ferimex.sk collected 2026-10-08 20:39:46 UTC 6,238 bytes, 175 lines download raw bytes

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.