PageSourceSearch

https://geonet.cl/wp-content/plugins/wedesigntech-elementor-addon/…/layout/assets/js/carousel.js?ver=6.9.10

js geonet.cl collected 2026-10-08 05:48:00 UTC 14,295 bytes, 291 lines download raw bytes

1(function ($) {
2
3	const wdtCarouselWidgetHandler = function($scope, $) {
4
5        setTimeout( function() {
6
7            const $carouselItem = $scope.find('.wdt-carousel-holder');
8            const $moduleId = $carouselItem.data('id');
9            const $swiperItem = $carouselItem.find('.swiper');
10            const $swiperUniqueId = $swiperItem.attr('id');
11            const $swiperWrapper = $carouselItem.find('.swiper-wrapper');
12            const $carouselSettings = $swiperItem.data('settings');
13
14            if($carouselSettings === undefined) {
15                return;
16            }
17
18            const $direction		  	= ($carouselSettings['direction'] !== undefined) ? ($carouselSettings['direction']) : 'horizontal';
19            const $effect		  	    = ($carouselSettings['effect'] !== undefined) ? ($carouselSettings['effect']) : 'default';
20            // const $grab_cursor          = ($effect == 'flip' || $effect == 'cards' || $effect == 'creative') ? true : false;
21            const $free_mode            = ($effect == 'free_mode') ? true : false;
22            const $slides_to_show	 	= ($carouselSettings['slides_to_show'] !== undefined) ? parseInt($carouselSettings['slides_to_show']) : 1;
23            const $slides_to_scroll 	= ($carouselSettings['slides_to_scroll'] !== undefined) ? parseInt($carouselSettings['slides_to_scroll']) : 1;
24            const $pagination			= ($carouselSettings['pagination'] !== undefined) ? ($carouselSettings['pagination']) : '';
25            const $arrows			  	= ($carouselSettings['arrows'] !== undefined) ? ($carouselSettings['arrows'] == 'yes') : false;
26            const $speed			 	= ($carouselSettings['speed'] !== undefined && $carouselSettings['speed'] != '') ? parseInt($carouselSettings['speed']) : 400;
27            const $autoplay			  	= ($carouselSettings['autoplay'] !== undefined) ? ($carouselSettings['autoplay'] == 'yes') : false;
28            const $autoplay_speed	 	= ($carouselSettings['autoplay_speed'] !== undefined && $carouselSettings['autoplay_speed'] != '') ? parseInt($carouselSettings['autoplay_speed']) : 20000;
29            const $autoplay_direction   = ($carouselSettings['autoplay_direction'] !== undefined) ? ($carouselSettings['autoplay_direction']) : '';  
30            const $allow_touch		    = ($carouselSettings['allow_touch'] !== undefined) ? ($carouselSettings['allow_touch'] == 'yes') : true;  
31            const $loop				  	= ($carouselSettings['loop'] !== undefined) ? ($carouselSettings['loop'] == 'yes') : false;
32            const $centered_slides		= ($carouselSettings['centered_slides'] !== undefined) ? ($carouselSettings['centered_slides'] == 'yes') : false;
33            const $pause_on_interaction = ($carouselSettings['pause_on_interaction'] !== undefined) ? ($carouselSettings['pause_on_interaction'] == 'yes') : false;
34            const $pause_on_mouseenter  = ($carouselSettings['pause_on_mouseenter'] !== undefined) ? ($carouselSettings['pause_on_mouseenter'] == 'yes') : false;
35            const $overflow_type		= ($carouselSettings['overflow_type'] !== undefined) ? ($carouselSettings['overflow_type']) : '';
36            const $overflow_opacity = ($carouselSettings['overflow_opacity'] !== undefined) ? ($carouselSettings['overflow_opacity'] == 'yes') : false;
37            const $unequal_height_compatability = ($carouselSettings['unequal_height_compatability'] === 'yes') ? true : false;
38            const $space_between_gaps = $carouselSettings['space_between_gaps'];
39            var $deviceMode = elementorFrontend.getCurrentDeviceMode();
40            if( $deviceMode = 'widescreen' ) {
41                $deviceMode = 'desktop';
42            }
43            const $space_between = $space_between_gaps[$deviceMode] ? $space_between_gaps[$deviceMode] : 0;
44
45            // Initialize height if its vertical carousel
46            if($direction == 'vertical') {
47                const $height = parseInt($swiperItem.find('.swiper-slide:first .wdt-content-item').height(), 10) + 20;
48                $swiperWrapper.css({'height':$height+'px'});
49            }
50
51            // Overflow script
52            if($overflow_type == 'left') {
53
54                const $itemOffsetLeft = $carouselItem.offset().left;
55                const $itemPadding = parseInt($carouselItem.parents('.elementor-widget-wrap').css("padding-left"));
56                const $itemLeft = (parseFloat($itemOffsetLeft) - parseFloat($itemPadding));
57                const $itemWidth = $carouselItem.width();
58                const $itemTotalWidth = parseFloat($itemWidth) + parseFloat($itemLeft);
59
60                $swiperItem.css('width', $itemTotalWidth);
61                $swiperItem.css('left', -$itemLeft);
62
63            } else if($overflow_type == 'right') {
64
65                const $docWidth = $(document).width();
66                const $itemOffsetLeft = $carouselItem.offset().left;
67                const itemOuterWidth = $carouselItem.outerWidth();
68                const $itemWidth = $carouselItem.width();
69                const itemRight = parseFloat($docWidth) - (parseFloat($itemOffsetLeft) + parseFloat(itemOuterWidth));
70                const $itemPadding = parseInt($carouselItem.parents('.elementor-widget-wrap').css("padding-right"));
71                const $itemTotalWidth = parseFloat($itemWidth) + parseFloat(itemRight) - parseFloat($itemPadding);
72
73                $swiperItem.css('width', $itemTotalWidth);
74
75            }
76
77            // Build swiper options
78            const swiperOptions = {
79                initialSlide: 0,
80                simulateTouch: true,
81                // roundLengths: true,
82                keyboardControl: true,
83                paginationClickable: true,
84                autoHeight: false,
85                // grabCursor: $grab_cursor,
86
87                freeMode: $free_mode,
88                allowTouchMove: $allow_touch,
89
90                effect: $effect,
91                fadeEffect: {
92                    crossFade: true
93                },
94                coverflowEffect: {
95                    rotate: 30,
96                    slideShadows: false,
97                },
98                cubeEffect: {
99                    slideShadows: false,
100                },
101
102                slidesPerView: $slides_to_show,
103                slidesPerGroup: $slides_to_scroll,
104                loop: $loop,
105                // loopFillGroupWithBlank: $loop,
106                centeredSlides: $centered_slides,
107                direction: $direction,
108                speed: $speed,
109                spaceBetween: $space_between
110            }
111
112            // Update breakpoints
113            const $responsiveSettings = $carouselSettings['responsive'];
114            const $responsiveData = {};
115            $.each($responsiveSettings, function (index, value) {
116                $responsiveData[value.breakpoint] = {
117                    slidesPerView: value.toshow,
118                    slidesPerGroup: value.toscroll
119                };
120            });
121            swiperOptions['breakpoints'] = $responsiveData;
122
123            // Creative effects
124            /* if( $effect == 'creative' ) {
125                const $creativeType = $carouselSettings['effect_type'];
126                if( $creativeType == 'type_1' ) {
127                    swiperOptions.creativeEffect = {
128                        prev: {
129                            shadow: true,
130                            translate: [0, 0, -400],
131                        },
132                        next: {
133                            translate: ["100%", 0, 0],
134                        }
135                    }
136                } else if( $creativeType == 'type_2' ) {
137                    swiperOptions.creativeEffect = {
138                        prev: {
139                            shadow: true,
140                            translate: ["-120%", 0, -500],
141                        },
142                        next: {
143                            shadow: true,
144                            translate: ["120%", 0, -500],
145                        }
146                    }
147                } else if( $creativeType == 'type_3' ) {
148                    swiperOptions.creativeEffect = {
149                        prev: {
150                            shadow: true,
151                            translate: ["-20%", 0, -1],
152                        },
153                        next: {
154                            translate: ["100%", 0, 0],
155                        }
156                    }
157                } else if( $creativeType == 'type_4' ) {
158                    swiperOptions.creativeEffect = {
159                        prev: {
160                            shadow: true,
161                            translate: [0, 0, -800],
162                            rotate: [180, 0, 0],
163                        },
164                        next: {
165                            shadow: true,
166                            translate: [0, 0, -800],
167                            rotate: [-180, 0, 0],
168                        }
169                    }
170                } else if( $creativeType == 'type_5' ) {
171                    swiperOptions.creativeEffect = {
172                        prev: {
173                            shadow: true,
174                            translate: ["-125%", 0, -800],
175                            rotate: [0, 0, -90],
176                        },
177                        next: {
178                            shadow: true,
179                            translate: ["125%", 0, -800],
180                            rotate: [0, 0, 90],
181                        }
182                    }
183                } else if( $creativeType == 'type_6' ) {
184                    swiperOptions.creativeEffect = {
185                        prev: {
186                            shadow: true,
187                            origin: "left center",
188                            translate: ["-5%", 0, -200],
189                            rotate: [0, 100, 0],
190                        },
191                        next: {
192                            origin: "right center",
193                            translate: ["5%", 0, -200],
194                            rotate: [0, -100, 0],
195                        }
196                    }
197                }
198            } */
199
200            // Arrow pagination
201            if ($arrows) {
202                swiperOptions.navigation = {
203                    prevEl: '.wdt-arrow-pagination-prev-'+$moduleId,
204                    nextEl: '.wdt-arrow-pagination-next-'+$moduleId
205                };
206            }
207
208            // Other pagination
209            if ($pagination != '') {
210                if( $pagination == 'scrollbar' ) {
211                    swiperOptions.scrollbar = {
212                        el: '.wdt-swiper-scrollbar-'+$moduleId,
213                        type: $pagination,
214                        hide: true
215                    };
216                } else {
217                    swiperOptions.pagination = {
218                        el: '.wdt-swiper-pagination-'+$moduleId,
219                        type: $pagination,
220                        clickable: true
221                    };
222                }
223            }
224
225             // Autoplay direction
226             $reversedirection = false;
227             if($autoplay_direction == 'right') {
228                 $reversedirection = true;
229             }
230
231            // Autoplay
232            if ($autoplay) {
233                swiperOptions.autoplay = {
234                    delay: $autoplay_speed,
235                    disableOnInteraction: $pause_on_interaction,
236                    reverseDirection: $reversedirection,
237                    pauseOnMouseEnter: $pause_on_mouseenter,    
238                };
239            }
240
241            const swiperGallery = new Swiper('#'+$swiperUniqueId, swiperOptions);
242
243            if($direction == 'vertical' && $unequal_height_compatability) {
244                swiperGallery.on('slideChangeTransitionStart', function () {
245                    const height = parseInt($swiperItem.find('.swiper-slide.swiper-slide-active .wdt-content-item').height(), 10) + 20;
246                        $swiperWrapper.animate({height:height}, 400);
247                });
248            }
249
250            // On slide change
251            swiperGallery.on('slideChangeTransitionStart', function () {
252                // Overflow Opacity
253                if($overflow_opacity) {
254                    $scope.find('.swiper').css({'overflow': 'visible'});
255                    $scope.find('.swiper-slide').css({'opacity': 0.5});
256                    $scope.find('.swiper-slide.swiper-slide-active').css({'opacity': 1});
257                    $scope.find('.swiper-slide.swiper-slide-active').nextAll('*:lt('+(+$slides_to_show-1)+')').css({'opacity': 1});
258                }
259            });
260
261            // Overflow Opacity
262            if($overflow_opacity) {
263                $scope.find('.swiper').css({'overflow': 'visible'});
264                $scope.find('.swiper-slide').css({'opacity': 0.5});
265                $scope.find('.swiper-slide.swiper-slide-active').css({'opacity': 1});
266                $scope.find('.swiper-slide.swiper-slide-active').nextAll('*:lt('+(+$slides_to_show-1)+')').css({'opacity': 1});
267            }
268
269            setTimeout( function() {
270                $scope.find('.swiper-slide-duplicate .elementor-invisible').removeClass('elementor-invisible');
271            }, 400 );
272
273        }, 400 );
274
275    };
276
277	$(window).on('elementor/frontend/init', function () {
278
279		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-advanced-carousel.default', wdtCarouselWidgetHandler);
280		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-counter.default', wdtCarouselWidgetHandler);
281		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-icon-box.default', wdtCarouselWidgetHandler);
282		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-instagram.default', wdtCarouselWidgetHandler);
283		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-team.default', wdtCarouselWidgetHandler);
284		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-testimonial.default', wdtCarouselWidgetHandler);
285		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-image-box.default', wdtCarouselWidgetHandler);
286		elementorFrontend.hooks.addAction('frontend/element_ready/wdt-events.default', wdtCarouselWidgetHandler);
287        elementorFrontend.hooks.addAction('frontend/element_ready/wdt-donations.default', wdtCarouselWidgetHandler);
288
289  	});
290
291  })(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.