PageSourceSearch

https://www.wesselton.net/wp-content/plugins/konte-addons/assets/js/shortcodes.js?ver=20180620

js wesselton.net collected 2026-10-06 09:06:54 UTC 20,053 bytes, 708 lines download raw bytes

1jQuery( document ).ready( function( $ ) {
2	"use strict";
3
4	/**
5	 * Google Maps.
6	 */
7	$( '.konte-map' ).each( function() {
8		var $map = $( this ),
9			latitude = $map.data( 'lat' ),
10			longitude = $map.data( 'lng' ),
11			zoom = $map.data( 'zoom' ),
12			marker_icon = $map.data( 'marker' ),
13			info = $map.html();
14
15		var mapOptions = {
16			zoom             : zoom,
17			disableDefaultUI : true,
18			scrollwheel      : false,
19			navigationControl: true,
20			mapTypeControl   : false,
21			scaleControl     : false,
22			draggable        : true,
23			center           : new google.maps.LatLng( latitude, longitude ),
24			mapTypeId        : google.maps.MapTypeId.ROADMAP
25		};
26
27		switch ( $map.data( 'color' ) ) {
28			case 'grey':
29				mapOptions.styles = [{
30					"featureType": "water",
31					"elementType": "geometry",
32					"stylers"    : [{"color": "#e9e9e9"}, {"lightness": 17}]
33				}, {
34					"featureType": "landscape",
35					"elementType": "geometry",
36					"stylers"    : [{"color": "#f5f5f5"}, {"lightness": 20}]
37				}, {
38					"featureType": "road.highway",
39					"elementType": "geometry.fill",
40					"stylers"    : [{"color": "#ffffff"}, {"lightness": 17}]
41				}, {
42					"featureType": "road.highway",
43					"elementType": "geometry.stroke",
44					"stylers"    : [{"color": "#ffffff"}, {"lightness": 29}, {"weight": 0.2}]
45				}, {
46					"featureType": "road.arterial",
47					"elementType": "geometry",
48					"stylers"    : [{"color": "#ffffff"}, {"lightness": 18}]
49				}, {
50					"featureType": "road.local",
51					"elementType": "geometry",
52					"stylers"    : [{"color": "#ffffff"}, {"lightness": 16}]
53				}, {
54					"featureType": "poi",
55					"elementType": "geometry",
56					"stylers"    : [{"color": "#f5f5f5"}, {"lightness": 21}]
57				}, {
58					"featureType": "poi.park",
59					"elementType": "geometry",
60					"stylers"    : [{"color": "#dedede"}, {"lightness": 21}]
61				}, {
62					"elementType": "labels.text.stroke",
63					"stylers"    : [{"visibility": "on"}, {"color": "#ffffff"}, {"lightness": 16}]
64				}, {
65					"elementType": "labels.text.fill",
66					"stylers"    : [{"saturation": 36}, {"color": "#333333"}, {"lightness": 40}]
67				}, {"elementType": "labels.icon", "stylers": [{"visibility": "off"}]}, {
68					"featureType": "transit",
69					"elementType": "geometry",
70					"stylers"    : [{"color": "#f2f2f2"}, {"lightness": 19}]
71				}, {
72					"featureType": "administrative",
73					"elementType": "geometry.fill",
74					"stylers"    : [{"color": "#fefefe"}, {"lightness": 20}]
75				}, {
76					"featureType": "administrative",
77					"elementType": "geometry.stroke",
78					"stylers"    : [{"color": "#fefefe"}, {"lightness": 17}, {"weight": 1.2}]
79				}];
80				break;
81
82			case 'black':
83				mapOptions.styles = [{
84					"featureType": "all",
85					"elementType": "labels.text.fill",
86					"stylers"    : [{"saturation": 36}, {"color": "#000000"}, {"lightness": 40}]
87				}, {
88					"featureType": "all",
89					"elementType": "labels.text.stroke",
90					"stylers"    : [{"visibility": "on"}, {"color": "#000000"}, {"lightness": 16}]
91				}, {
92					"featureType": "all",
93					"elementType": "labels.icon",
94					"stylers"    : [{"visibility": "off"}]
95				}, {
96					"featureType": "administrative",
97					"elementType": "geometry.fill",
98					"stylers"    : [{"color": "#000000"}, {"lightness": 20}]
99				}, {
100					"featureType": "administrative",
101					"elementType": "geometry.stroke",
102					"stylers"    : [{"color": "#000000"}, {"lightness": 17}, {"weight": 1.2}]
103				}, {
104					"featureType": "landscape",
105					"elementType": "geometry",
106					"stylers"    : [{"color": "#000000"}, {"lightness": 20}]
107				}, {
108					"featureType": "poi",
109					"elementType": "geometry",
110					"stylers"    : [{"color": "#000000"}, {"lightness": 21}]
111				}, {
112					"featureType": "road.highway",
113					"elementType": "geometry.fill",
114					"stylers"    : [{"color": "#000000"}, {"lightness": 17}]
115				}, {
116					"featureType": "road.highway",
117					"elementType": "geometry.stroke",
118					"stylers"    : [{"color": "#000000"}, {"lightness": 29}, {"weight": 0.2}]
119				}, {
120					"featureType": "road.arterial",
121					"elementType": "geometry",
122					"stylers"    : [{"color": "#000000"}, {"lightness": 18}]
123				}, {
124					"featureType": "road.local",
125					"elementType": "geometry",
126					"stylers"    : [{"color": "#000000"}, {"lightness": 16}]
127				}, {
128					"featureType": "transit",
129					"elementType": "geometry",
130					"stylers"    : [{"color": "#000000"}, {"lightness": 19}]
131				}, {
132					"featureType": "water",
133					"elementType": "geometry",
134					"stylers"    : [{"color": "#000000"}, {"lightness": 17}]
135				}];
136				break;
137
138			case 'vista-blue':
139				mapOptions.styles = [{
140					"featureType": "water",
141					"elementType": "geometry",
142					"stylers"    : [{"color": "#a0d6d1"}, {"lightness": 17}]
143				}, {
144					"featureType": "landscape",
145					"elementType": "geometry",
146					"stylers"    : [{"color": "#ffffff"}, {"lightness": 20}]
147				}, {
148					"featureType": "road.highway",
149					"elementType": "geometry.fill",
150					"stylers"    : [{"color": "#dedede"}, {"lightness": 17}]
151				}, {
152					"featureType": "road.highway",
153					"elementType": "geometry.stroke",
154					"stylers"    : [{"color": "#dedede"}, {"lightness": 29}, {"weight": 0.2}]
155				}, {
156					"featureType": "road.arterial",
157					"elementType": "geometry",
158					"stylers"    : [{"color": "#dedede"}, {"lightness": 18}]
159				}, {
160					"featureType": "road.local",
161					"elementType": "geometry",
162					"stylers"    : [{"color": "#ffffff"}, {"lightness": 16}]
163				}, {
164					"featureType": "poi",
165					"elementType": "geometry",
166					"stylers"    : [{"color": "#f1f1f1"}, {"lightness": 21}]
167				}, {
168					"elementType": "labels.text.stroke",
169					"stylers"    : [{"visibility": "on"}, {"color": "#ffffff"}, {"lightness": 16}]
170				}, {
171					"elementType": "labels.text.fill",
172					"stylers"    : [{"saturation": 36}, {"color": "#333333"}, {"lightness": 40}]
173				}, {"elementType": "labels.icon", "stylers": [{"visibility": "off"}]}, {
174					"featureType": "transit",
175					"elementType": "geometry",
176					"stylers"    : [{"color": "#f2f2f2"}, {"lightness": 19}]
177				}, {
178					"featureType": "administrative",
179					"elementType": "geometry.fill",
180					"stylers"    : [{"color": "#fefefe"}, {"lightness": 20}]
181				}, {
182					"featureType": "administrative",
183					"elementType": "geometry.stroke",
184					"stylers"    : [{"color": "#fefefe"}, {"lightness": 17}, {"weight": 1.2}]
185				}];
186				break;
187
188			case 'blue':
189				mapOptions.styles = [{
190					"featureType": "administrative",
191					"elementType": "labels.text.fill",
192					"stylers": [
193						{
194							"color": "#444444"
195						}
196					]
197				}, {
198					"featureType": "landscape",
199					"elementType": "all",
200					"stylers": [
201						{
202							"color": "#f2f2f2"
203						}
204					]
205				}, {
206					"featureType": "poi",
207					"elementType": "all",
208					"stylers": [
209						{
210							"visibility": "off"
211						}
212					]
213				}, {
214					"featureType": "road",
215					"elementType": "all",
216					"stylers": [
217						{
218							"saturation": -100
219						},
220						{
221							"lightness": 45
222						}
223					]
224				}, {
225					"featureType": "road.highway",
226					"elementType": "all",
227					"stylers": [
228						{
229							"visibility": "simplified"
230						}
231					]
232				},
233				{
234					"featureType": "road.arterial",
235					"elementType": "labels.icon",
236					"stylers": [
237						{
238							"visibility": "off"
239						}
240					]
241				},
242				{
243					"featureType": "transit",
244					"elementType": "all",
245					"stylers": [
246						{
247							"visibility": "off"
248						}
249					]
250				}, {
251					"featureType": "water",
252					"elementType": "all",
253					"stylers": [
254						{
255							"color": "#b2d6eb"
256						},
257						{
258							"visibility": "on"
259						}
260					]
261				} ];
262		}
263
264		var map = new google.maps.Map( this, mapOptions );
265
266		if ( marker_icon ) {
267			var marker = new google.maps.Marker( {
268				position : new google.maps.LatLng( latitude, longitude ),
269				map      : map,
270				icon     : marker_icon,
271				animation: google.maps.Animation.DROP
272			} );
273		}
274
275		if ( info ) {
276			var infoWindow = new google.maps.InfoWindow( {
277				content: '<div class="info_content">' + info + '</div>'
278			} );
279
280			if ( typeof marker === undefined ) {
281				var marker = new google.maps.Marker( {
282					position : new google.maps.LatLng( latitude, longitude ),
283					map      : map,
284					animation: google.maps.Animation.DROP
285				} );
286			}
287
288			marker.addListener( 'click', function () {
289				infoWindow.open( map, marker );
290			} );
291		}
292	} );
293
294	/**
295	 * Carousel.
296	 */
297	$( '.konte-carousel' )
298		.on( 'init', function( event, slick ) {
299			if ( slick.$slider.hasClass( 'konte-carousel--show-index' ) ) {
300				slick.$slides.each( function( index, $slide ) {
301					var number = ++index < 10 ? '0' + index.toString() : index.toString();
302					$( '<span class="konte-dash konte-carousel__slide-index"><span class="konte-dash__line text-default"></span><span class="konte-carousel__slide-index-number">' + number + '</span></span>' ).appendTo( $slide );
303				} );
304
305				setTimeout( function() {
306					slick.$slider.addClass( 'indexs-initialized' );
307				}, 500 );
308			}
309		} )
310		.slick( {
311			rtl: $( document.body ).hasClass( 'rtl' ),
312			prevArrow: '<button type="button" class="slick-prev konte-carousel__arrow"><span class="svg-icon icon-left icon-small"><svg><use xlink:href="#left"></use></svg></span></button>',
313			nextArrow: '<button type="button" class="slick-next konte-carousel__arrow"><span class="svg-icon icon-right icon-small"><svg><use xlink:href="#right"></use></svg></span></button>',
314			responsive: [
315				{
316					breakpoint: 1199,
317					settings: {
318						slidesToShow: 2,
319						slidesToScroll: 1
320					}
321				},
322				{
323					breakpoint: 767,
324					settings: {
325						centerMode: true,
326						slidesToShow: 1,
327						slidesToScroll: 1
328					}
329				}
330			]
331		} );
332
333	/**
334	 * Chart.
335	 */
336	$( '.konte-chart' ).circleProgress( {
337		emptyFill : 'rgba(227,231,232,1)',
338		startAngle: -Math.PI / 2
339	} );
340
341	/**
342	 * Post Carousel.
343	 */
344	$( '.konte-post-carousel' ).slick( {
345		rtl: $( document.body ).hasClass( 'rtl' ),
346		responsive: [
347			{
348				breakpoint: 1199,
349				settings: {
350					slidesToShow: 2,
351					slidesToScroll: 1,
352				}
353			},
354			{
355				breakpoint: 600,
356				settings: {
357					slidesToShow: 1,
358					slidesToScroll: 1,
359				}
360			}
361		]
362	} );
363
364	/**
365	 * Close message box.
366	 */
367	$( document.body ).on( 'click', '.konte-message-box .close', function ( e ) {
368		e.preventDefault();
369
370		$( this ).parent().fadeOut();
371	} );
372
373	/**
374	 * Edit vc_section stretch.
375	 */
376	$( document ).on( 'vc-full-width-row-single', function( event, section ) {
377		if ( ! section.el.hasClass( 'section_stretch_side' ) ) {
378			return;
379		}
380
381		if ( section.el.hasClass( 'section_stretch_left' ) ) {
382			section.el.css( {
383				paddingRight: 0,
384				width: section.width + section.offset
385			} );
386		}
387
388		if ( section.el.hasClass( 'section_stretch_left_no_padding' ) ) {
389			section.el.css( {
390				paddingRight: 0,
391				paddingLeft: 0,
392				width: section.width + section.offset
393			} );
394		}
395
396		if ( section.el.hasClass( 'section_stretch_right' ) ) {
397			section.el.css( {
398				left: 'auto',
399				paddingLeft: 0,
400				width: section.width + section.offset
401			} );
402		}
403
404		if ( section.el.hasClass( 'section_stretch_right_no_padding' ) ) {
405			section.el.css( {
406				left: 'auto',
407				paddingleft: 0,
408				paddingRight: 0,
409				width: section.width + section.offset
410			} );
411		}
412	} );
413
414	/**
415	 * Testimonial carousel.
416	 */
417	$( '.konte-testimonial-carousel__photos' ).slick( {
418		rtl: $( document.body ).hasClass( 'rtl' ),
419		slidesToShow: 1,
420		slidesToScroll: 1,
421		arrows: false,
422		fade: true
423	} );
424
425	/**
426	 * Testimonial carousel.
427	 */
428	$( '.konte-testimonial-carousel__testimonials' ).slick( {
429		rtl: $( document.body ).hasClass( 'rtl' ),
430		slidesToShow: 1,
431		slidesToScroll: 1,
432		arrows: false,
433		dots: true
434	} );
435
436	/**
437	 *  Countdown
438	 */
439	$( '.konte-countdown' ).each( function () {
440		var $el = $( this ),
441			$timers = $el.find( '.timers' ),
442			output = '';
443
444		$timers.countdown( $timers.data( 'date' ), function ( event ) {
445			output = '';
446			var day = event.strftime( '%D' );
447			for ( var i = 0; i < day.length; i++ ) {
448				output += '<span>' + day[i] + '</span>';
449			}
450			$timers.find( '.day' ).html( output );
451
452			output = '';
453			var hour = event.strftime( '%H' );
454			for ( i = 0; i < hour.length; i++ ) {
455				output += '<span>' + hour[i] + '</span>';
456			}
457			$timers.find( '.hour' ).html( output );
458
459			output = '';
460			var minu = event.strftime( '%M' );
461			for ( i = 0; i < minu.length; i++ ) {
462				output += '<span>' + minu[i] + '</span>';
463			}
464			$timers.find( '.min' ).html( output );
465
466			output = '';
467			var secs = event.strftime( '%S' );
468			for ( i = 0; i < secs.length; i++ ) {
469				output += '<span>' + secs[i] + '</span>';
470			}
471			$timers.find( '.secs' ).html( output );
472		} );
473	} );
474
475	/**
476	 * Product Carousel.
477	 */
478	$( '.konte-product-carousel' ).each( function() {
479		var $carousel = $( this );
480
481		initProductCarousel( $carousel );
482	} );
483
484	/**
485	 * Init product carousel
486	 */
487	function initProductCarousel( $carousel ) {
488		var $products = $carousel.find( 'ul.products' ),
489			itemsCount = $( 'li.product', $products ).length,
490			options = $carousel.data('slick'),
491			navStyle = $carousel.data('nav_style'),
492			navText = {};
493
494		if ('angle' === navStyle) {
495			navText.prev = '<button type="button" class="slick-prev product-carou
495sel-arrow"><span class="svg-icon icon-left"><svg><use xlink:href="#left"></use></svg></span></button>';
496			navText.next = '<button type="button" class="slick-next product-carousel-arrow"><span class="svg-icon icon-right"><svg><use xlink:href="#right"></use></svg></span></button>';
497		} else {
498			navText.prev = '<button type="button" class="slick-prev product-carousel-arrow"><span class="svg-icon icon-arrow-left"><svg><use xlink:href="#arrow-left"></use></svg></span></button>';
499			navText.next = '<button type="button" class="slick-next product-carousel-arrow"><span class="svg-icon icon-arrow-left"><svg><use xlink:href="#arrow-left"></use></svg></span></button>';
500		}
501
502		options = $.extend(options, {
503			dots: true,
504			arrows: true,
505			speed: 400,
506			rtl: $(document.body).hasClass('rtl'),
507			prevArrow: navText.prev,
508			nextArrow: navText.next,
509			responsive: [
510				{
511					breakpoint: 1199,
512					settings: {
513						slidesToShow: Math.min( 3, options.slidesToShow ),
514						slidesToScroll: Math.min( 3, options.slidesToShow ),
515						dots: ( Math.min( 3, options.slidesToShow ) < itemsCount )
516					}
517				},
518				{
519					breakpoint: 991,
520					settings: {
521						slidesToShow: Math.min( 2, options.slidesToShow ),
522						slidesToScroll: Math.min( 2, options.slidesToShow ),
523						dots: ( Math.min( 2, options.slidesToShow ) < itemsCount )
524					}
525				},
526				{
527					breakpoint: 320,
528					settings: {
529						slidesToShow: 1,
530						slidesToScroll: 1,
531						dots: ( 1 < itemsCount )
532					}
533				}
534			]
535		});
536
537		$products.css( 'opacity', 0 )
538			.attr( 'dir', $(document.body).hasClass('rtl') ? 'rtl' : '' )
539			.css( 'opacity', 0 )
540			.on( 'init', function ( event ) {
541				$( event.target ).css( 'opacity', 1 );
542			} )
543			.slick( options );
544	}
545
546	/**
547	 * Products Masonry
548	 */
549	var konteMansonryActive = false;
550	$( '.konte-product-masonry ul.products' )
551		.on( 'layoutComplete', function( event ) {
552			var $container = $( event.currentTarget );
553
554			if ( $container.closest( '.konte-product-masonry' ).hasClass( 'has-heading' ) ) {
555				var top = $container.children( ':nth-child(5)' ).css( 'top' );
556				$container.children( ':nth-child(4)' ).css( 'top', top );
557			}
558		} );
559
560	initProductMansonry();
561
562	$( window ).on( 'resize', initProductMansonry );
563
564	/**
565	 * Init product masonry
566	 */
567	function initProductMansonry() {
568		if ( $( window ).width() < 992 ) {
569			if ( konteMansonryActive ) {
570				$( '.konte-product-masonry ul.products' ).masonry( 'destroy' );
571			}
572
573			konteMansonryActive = false;
574		} else if ( ! konteMansonryActive ) {
575			$( '.konte-product-masonry ul.products' ).masonry( {
576				itemSelector: 'li.product',
577				columnWidth: 'li.product',
578				percentPosition: true,
579				transitionDuration: 0,
580				originLeft: ! $( document.body ).hasClass( 'rtl' )
581			} )
582			.imagesLoaded( function( instance ) {
583				$( instance.elements ).masonry( 'layout' );
584			} );
585
586			konteMansonryActive = true;
587		}
588	}
589
590
591	/**
592	 * Tabs
593	 */
594	$( '.konte-tabs' ).on( 'click', '.konte-tabs__nav li', function() {
595		var $tab = $( this ),
596			index = $tab.data( 'target' ),
597			$panels = $tab.closest( '.konte-tabs' ).find( '.konte-tabs__panels' ),
598			$panel = $panels.find( '.konte-tabs__panel[data-panel="' + index + '"]' );
599
600		if ( $tab.hasClass( 'active' ) ) {
601			return;
602		}
603
604		$tab.addClass( 'active' ).siblings( 'li.active' ).removeClass( 'active' );
605
606		if ( $panel.length ) {
607			$panel.addClass( 'active' ).siblings( '.konte-tabs__panel.active' ).removeClass( 'active' );
608		}
609	} );
610
611	/**
612	 * Product tabs
613	 *
614	 * Uses tab switching of .konte-tabs.
615	 * In this part, we only handle ajax request to load products dynamically
616	 */
617	$( '.konte-product-tabs' ).on( 'click', '.konte-tabs__nav li', function() {
618		var $tab = $( this ),
619			atts = $tab.data( 'atts' ),
620			index = $tab.data( 'target' ),
621			$panels = $tab.parent().next( '.konte-tabs__panels' ),
622			$panel = $panels.find( '.konte-tabs__panel[data-panel="' + index + '"]' ),
623			ajax_url = wc_add_to_cart_params ? wc_add_to_cart_params.wc_ajax_url.toString().replace('%%endpoint%%', 'konte_products_shortcode') : konteData.ajax_url;
624
625		if ( $panel.length ) {
626			return;
627		}
628
629		if ( !atts ) {
630			return;
631		}
632
633		$panels.addClass( 'loading' );
634
635		$.post( ajax_url, {
636			action: 'konte_products_shortcode',
637			atts  : atts
638		}, function( response ) {
639			if ( !response.success ) {
640				$panels.removeClass( 'loading' );
641				return;
642			}
643
644			var $newPanel = $panels.children( '.konte-tabs__panel' ).first().clone();
645
646			$newPanel.html( response.data );
647			$newPanel.attr( 'data-panel', index );
648			$newPanel.addClass( 'active' );
649			$newPanel.appendTo( $panels );
650			$newPanel.siblings( '.konte-tabs__panel.active' ).removeClass( 'active' );
651
652
653			if ( $tab.closest( '.konte-product-tabs' ).hasClass( 'tabs-carousel' ) ) {
654				initProductCarousel( $newPanel );
655			}
656
657			$(document.body).trigger('konte_products_loaded', [$newPanel.find( 'li.product' ), false]);
658
659			setTimeout( function() {
660				$panels.removeClass( 'loading' );
661			}, 700 );
662		} ).fail( function() {
663			window.location.herf = $tab.data( 'href' );
664		} );;
665	} );
666
667	/**
668	 * Product carousel 2
669	 */
670	$( '.konte-product-carousel2' ).each( function() {
671		var $carousel = $( this );
672
673		var options = $carousel.data('slick'),
674			navText = {};
675
676		navText.prev = '<button type="button" class="slick-prev"><span class="svg-icon icon-left"><svg><use xlink:href="#left"></use></svg></span></button>';
677		navText.next = '<button type="button" class="slick-next"><span class="svg-icon icon-right"><svg><use xlink:href="#right"></use></svg></span></button>';
678
679		options = $.extend( options, {
680			dots: false,
681			arrows: true,
682			speed: 400,
683			slidesToShow: 1,
684			slidesToScroll: 1,
685			rtl: $(document.body).hasClass('rtl'),
686			prevArrow: navText.prev,
687			nextArrow: navText.next,
688			variableWidth: true,
689			touchThreshold: 10,
690			responsive: [
691				{
692					breakpoint: 1279,
693					settings: {
694						slidesToShow: 1
695					}
696				}
697			]
698		});
699
700		$carousel.find( 'ul.products' )
701			.attr( 'dir', $(document.body).hasClass('rtl') ? 'rlt' : '' )
702			.css( 'opacity', 0 )
703			.on( 'init', function ( event ) {
704				$( event.target ).css( 'opacity', 1 );
705			} )
706			.slick( options );
707	} );
708} );

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.