PageSourceSearch

https://www.umbriaexperience.it/wp-content/themes/golo/assets/js/swiper-wrapper.js?ver=1.5.4

js umbriaexperience.it collected 2026-10-02 23:15:22 UTC 10,316 bytes, 315 lines download raw bytes

1(
2	function( $ ) {
3		'use strict';
4
5		$.fn.GoloSwiper = function( options ) {
6			var defaults = {};
7			var settings = $.extend( {}, defaults, options );
8
9			var $swiper;
10
11			this.each( function() {
12				var $slider = $( this );
13				var $sliderInner = $slider.children( '.swiper-inner' ).first();
14				var sliderSettings = $slider.data();
15
16				var $sliderContainer = $sliderInner.children( '.swiper-container' ).first(),
17				    lgItems          = sliderSettings.lgItems ? sliderSettings.lgItems : 1,
18				    mdItems          = sliderSettings.mdItems ? sliderSettings.mdItems : lgItems,
19				    smItems          = sliderSettings.smItems ? sliderSettings.smItems : mdItems,
20				    lgGutter         = sliderSettings.lgGutter ? sliderSettings.lgGutter : 0,
21				    mdGutter         = sliderSettings.mdGutter ? sliderSettings.mdGutter : lgGutter,
22				    smGutter         = sliderSettings.smGutter ? sliderSettings.smGutter : mdGutter,
23				    speed            = sliderSettings.speed ? sliderSettings.speed : 1000;
24
25				// Normalize slide per view, reset fake view to exist view.
26				lgItems = 'auto-fixed' === lgItems ? 'auto' : lgItems;
27				mdItems = 'auto-fixed' === mdItems ? 'auto' : mdItems;
28				smItems = 'auto-fixed' === smItems ? 'auto' : smItems;
29
30				var swiperOptions = $.extend( {}, {
31					init: false,
32					watchSlidesVisibility: true,
33					slidesPerView: smItems,
34					spaceBetween: smGutter,
35					breakpoints: {
36						// when window width is >=
37						767: {
38							slidesPerView: mdItems,
39							spaceBetween: mdGutter
40						},
41						1024: {
42							slidesPerView: lgItems,
43							spaceBetween: lgGutter
44						}
45					}
46				}, settings );
47
48				if ( sliderSettings.slidesPerGroup == 'inherit' ) {
49					swiperOptions.slidesPerGroup = smItems;
50
51					swiperOptions.breakpoints[ 767 ].slidesPerGroup = mdItems;
52					swiperOptions.breakpoints[ 1024 ].slidesPerGroup = lgItems;
53				}
54
55				swiperOptions.watchOverflow = true;
56
57				if ( sliderSettings.slideColumns ) {
58					swiperOptions.slidesPerColumn = sliderSettings.slideColumns;
59				}
60
61				if ( sliderSettings.initialSlide ) {
62					swiperOptions.initialSlide = sliderSettings.initialSlide;
63				}
64
65				if ( sliderSettings.autoHeight ) {
66					swiperOptions.autoHeight = true;
67				}
68
69				if ( typeof sliderSettings.simulateTouch !== 'undefined' && ! sliderSettings.simulateTouch ) {
70					swiperOptions.simulateTouch = false;
71				}
72
73				if ( speed ) {
74					swiperOptions.speed = speed;
75				}
76
77				// Maybe: fade, flip
78				if ( sliderSettings.effect ) {
79					swiperOptions.effect = sliderSettings.effect;
80
81					if ( 'custom' === sliderSettings.fadeEffect ) {
82						swiperOptions.fadeEffect = {
83							crossFade: false
84						};
85					} else {
86						swiperOptions.fadeEffect = {
87							crossFade: true
88						};
89					}
90				}
91
92				if ( sliderSettings.loop ) {
93					swiperOptions.loop = true;
94
95					if ( sliderSettings.loopedSlides ) {
96						swiperOptions.loopedSlides = sliderSettings.loopedSlides;
97					}
98				}
99
100				if ( sliderSettings.centered ) {
101					swiperOptions.centeredSlides = true;
102				}
103
104				if ( sliderSettings.autoplay ) {
105					swiperOptions.autoplay = {
106						delay: sliderSettings.autoplay,
107						disableOnInteraction: false
108					};
109				}
110
111				if ( sliderSettings.freeMode ) {
112					swiperOptions.freeMode = true;
113				}
114
115				var $wrapControls;
116
117				if ( sliderSettings.wrapControls ) {
118					var $wrapControlsWrap = $( '<div class="swiper-controls-wrap"></div>' );
119					$wrapControls = $( '<div class="swiper-controls"></div>' );
120
121					$wrapControlsWrap.append( $wrapControls );
122					$slider.append( $wrapControlsWrap );
123				}
124
125				if ( sliderSettings.nav ) {
126
127					if ( sliderSettings.customNav && sliderSettings.customNav !== '' ) {
128						var $customBtn = $( '#' + sliderSettings.customNav );
129						var $swiperPrev = $customBtn.find( '.slider-prev-btn' );
130						var $swiperNext = $customBtn.find( '.slider-next-btn' );
131					} else {
132						var $swiperPrev = $( '<div class="swiper-nav-button swiper-button-prev"><i class="nav-button-icon"></i><span class="nav-button-text">' + $goloSwiper.prevText + '</span></div>' );
133						var $swiperNext = $( '<div class="swiper-nav-button swiper-button-next"><i class="nav-button-icon"></i><span class="nav-button-text">' + $goloSwiper.nextText + '</span></div>' );
134
135						var $swiperNavButtons = $( '<div class="swiper-nav-buttons"></div>' );
136						$swiperNavButtons.append( $swiperPrev ).append( $swiperNext );
137
138						var $swiperNavButtonsWrap = $( '<div class="swiper-nav-buttons-wrap"></div>' );
139
140						if ( 'grid' == sliderSettings.navAlignedBy ) {
141							$swiperNavButtonsWrap.append( '<div class="container"><div class="row"><div class="col-sm-12"></div></div></div>' );
142							$swiperNavButtonsWrap.find( '.col-sm-12' ).append( $swiperNavButtons );
143						} else {
144							$swiperNavButtonsWrap.append( $swiperNavButtons );
145						}
146
147						if ( $wrapControls ) {
148							$wrapControls.append( $swiperNavButtonsWrap );
149						} else {
150							$sliderInner.append( $swiperNavButtonsWrap );
151						}
152					}
153
154					swiperOptions.navigation = {
155						nextEl: $swiperNext,
156						prevEl: $swiperPrev
157					};
158				}
159
160				if ( sliderSettings.pagination ) {
161
162					var $swiperPaginationWrap = $( '<div class="swiper-pagination-wrap"><div class="swiper-pagination-inner"></div></div>' );
163					var $swiperPagination = $( '<div class="swiper-pagination"></div>' );
164
165					$swiperPaginationWrap.find( '.swiper-pagination-inner' ).append( $swiperPagination );
166
167					var $swiperPaginationContainerWrap = $( '<div class="swiper-pagination-container"></div>' );
168
169					if ( 'grid' == sliderSettings.paginationAlignedBy ) {
170						$swiperPaginationContainerWrap.append( '<div class="container"><div class="row"><div class="col-sm-12"></div></div></div>' );
171						$swiperPaginationContainerWrap.find( '.col-sm-12' ).append( $swiperPaginationWrap );
172					} else {
173						$swiperPaginationContainerWrap.append( $swiperPaginationWrap );
174					}
175
176					if ( $wrapControls ) {
177						$wrapControls.append( $swiperPaginationContainerWrap );
178					} else {
179						$slider.append( $swiperPaginationContainerWrap );
180					}
181
182					var paginationType = 'bullets';
183
184					if ( sliderSettings.paginationType ) {
185						paginationType = sliderSettings.paginationType;
186					}
187
188					swiperOptions.pagination = {
189						el: $swiperPagination,
190						type: paginationType,
191						clickable: true
192					};
193
194					if ( $slider.hasClass( 'pagination-style-04' ) ) {
195						var $swiperAltArrows = $( '<div class="swiper-alt-arrow-button swiper-alt-arrow-prev" data-action="prev"></div><div class="swiper-alt-arrow-button swiper-alt-arrow-next" data-action="next"></div>' );
196
197						$swiperPaginationWrap.find( '.swiper-pagination-inner' ).append( $swiperAltArrows );
198
199						swiperOptions.pagination.renderCustom = function( swiper, current, total ) {
200							// Convert to string.
201							var currentStr = current.toString();
202							var totalStr = total.toString();
203
204							return '<div class="fraction"><div class="current">' + currentStr + '</div><div class="separator">/</div><div class="total">' + totalStr + '</div></div>';
205						};
206					} else if ( $slider.hasClass( 'pagination-style-03' ) ) {
207						swiperOptions.pagination.renderCustom = function( swiper, current, total ) {
208							// Convert to string.
209							var currentStr = current.toString();
210							var totalStr = total.toString();
211
212							// Add leading 0.
213							currentStr = currentStr.padStart( 2, '0' );
214							totalStr = totalStr.padStart( 2, '0' );
215
216							return '<div class="fraction"><div class="current">' + currentStr + '</div><div class="separator"></div><div class="total">' + totalStr + '</div></div>';
217						};
218					} else if ( $slider.hasClass( 'pagination-style-06' ) ) {
219						swiperOptions.pagination.renderCustom = function( swiper, current, total ) {
220							// Convert to string.
221							var currentStr = current.toString();
222							var totalStr = total.toString();
223
224							// Add leading 0.
225							currentStr = currentStr.padStart( 2, '0' );
226							totalStr = totalStr.padStart( 2, '0' );
227
228							return '<div class="fraction"><div class="current">' + currentStr + '<div class="separator">/</div></div><div class="total">' + totalStr + '</div></div>';
229						};
230					}
231				}
232
233				if ( sliderSettings.scrollbar ) {
234					var $scrollbar = $( '<div class="swiper-scrollbar"></div>' );
235					$sliderContainer.prepend( $scrollbar );
236
237					swiperOptions.scrollbar = {
238						el: $scrollbar,
239						draggable: true,
240					};
241
242					swiperOptions.loop = false;
243				}
244
245				if ( sliderSettings.mousewheel ) {
246					swiperOptions.mousewheel = {
247						enabled: true
248					};
249				}
250
251				if ( sliderSettings.vertical ) {
252					swiperOptions.direction = 'vertical';
253				}
254
255				if ( sliderSettings.slideToClickedSlide ) {
256					swiperOptions.slideToClickedSlide = true;
257					swiperOptions.touchRatio = 0.2;
258				}
259
260				$swiper = new Swiper( $sliderContainer, swiperOptions );
261
262				if ( sliderSettings.layerTransition ) {
263					$swiper.on( 'init', function() {
264						var index = $swiper.activeIndex;
265						var slides = $swiper.$wrapperEl.find( '.swiper-slide' );
266						var currentSlide = slides.eq( index );
267						currentSlide.addClass( 'animated' );
268					} );
269
270					$swiper.on( 'slideChangeTransitionEnd', function() {
271						var index = $swiper.activeIndex;
272						var slides = $swiper.$wrapperEl.find( '.swiper-slide' );
273						var currentSlide = slides.eq( index );
274						currentSlide.addClass( 'animated' );
275					} );
276
277					$swiper.on( 'slideChangeTransitionStart', function() {
278						var slides = $swiper.$wrapperEl.find( '.swiper-slide' );
279						slides.removeClass( 'animated' );
280					} );
281				}
282
283				$swiper.init();
284
285				if ( $slider.hasClass( 'pagination-style-04' ) ) {
286					$slider.on( 'click', '.swiper-alt-arrow-button', function() {
287						var action = $( this ).data( 'action' );
288
289						switch ( action ) {
290							case 'prev' :
291								$swiper.slidePrev();
292								break;
293							case 'next' :
294								$swiper.slideNext();
295								break;
296						}
297					} );
298				}
299
300				// Disabled auto play when focus.
301				/*if ( sliderSettings.autoplay ) {
302					$sliderContainer.hover( function() {
303						$swiper.autoplay.stop();
304					}, function() {
305						$swiper.autoplay.start();
306					} );
307				}*/
308
309				$( document ).trigger( 'GoloSwiperInit', [ $swiper, $slider, swiperOptions ] );
310			} );
311
312			return $swiper;
313		};
314	}( jQuery )
315);

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.