1 2(function() { 3 "use strict"; 4 window.SCAPE = window.SCAPE || {}; 5 var $ = jQuery.noConflict(); 6 7 SCAPE.imageCarousel = { 8 9 init: function($container) { 10 if ( !$container ) { 11 $container = $('.wtbx_vc_image_carousel .wtbx_image_carousel_inner'); 12 } 13 if ( $container.length ) { 14 $container.each(function() { 15 16 function setPrevNext(activeSlide, slideCount) { 17 if ( SCAPE.viewport().width > 767 ) { 18 var prev = ( activeSlide > 0 ) ? activeSlide - 1 : slideCount - 1; 19 var next = ( activeSlide < (slideCount - 1) ) ? activeSlide + 1 : 0; 20 21 $slider.find('.wtbx_carousel_item.wtbx_slide_current').removeClass('wtbx_slide_current'); 22 $slider.find('.wtbx_carousel_item.wtbx_slide_prev').removeClass('wtbx_slide_prev'); 23 $slider.find('.wtbx_carousel_item.wtbx_slide_next').removeClass('wtbx_slide_next'); 24 25 $slider.find('.wtbx_carousel_item').eq(activeSlide).addClass('wtbx_slide_current'); 26 $slider.find('.wtbx_carousel_item').eq(prev).addClass('wtbx_slide_prev'); 27 $slider.find('.wtbx_carousel_item').eq(next).addClass('wtbx_slide_next'); 28 } else { 29 $slider.find('.wtbx_carousel_item.wtbx_slide_current').removeClass('wtbx_slide_current'); 30 $slider.find('.wtbx_carousel_item.wtbx_slide_prev').removeClass('wtbx_slide_prev'); 31 $slider.find('.wtbx_carousel_item.wtbx_slide_next').removeClass('wtbx_slide_next'); 32 } 33 } 34 35 var $slider = $(this), 36 align = $slider.data('align'), 37 slidesToScroll = $slider.data('slides-to-scroll'), 38 attraction = $slider.data('attraction'), 39 friction = $slider.data('friction'), 40 dots = $slider.data('dots') === 1, 41 pauseOnHover = $slider.data('pause'), 42 initialSlide = $slider.data('initial'), 43 autoplaySpeed = $slider.data('autoplay'), 44 height = $slider.data('height'), 45 freescroll = $slider.data('freescroll'), 46 autoplay = (autoplaySpeed !== '' && autoplaySpeed > 0) ? autoplaySpeed : false; 47 48 var options = { 49 prevNextButtons: false, 50 cellAlign: align, 51 wrapAround: true, 52 groupCells: slidesToScroll, 53 selectedAttraction: attraction, 54 friction: friction, 55 initialIndex: initialSlide, 56 autoPlay: autoplay, 57 adaptiveHeight: height, 58 pauseAutoPlayOnHover: pauseOnHover, 59 freeScroll: freescroll 60 }; 61 62 $slider.flickity(options); 63 $slider.closest('.wtbx_image_carousel_wrapper').addClass('wtbx_slider_init'); 64 $slider.find('.flickity-page-dots').wrap('<div class="'+$slider.data("pagination-class")+'"></div>'); 65 SCAPE.customCursor.bindClick($slider.find('.flickity-page-dots').find('li')); 66 67 $(window).on( 'load', function() { 68 $slider.flickity('resize'); 69 setTimeout(function() { 70 $slider.flickity('resize'); 71 },500); 72 }); 73 74 setTimeout(function() { 75 $slider.flickity('resize'); 76 },2000); 77 78 if ( $slider.closest('.wtbx_vc_image_carousel').find('.wtbx_image_carousel_pagination').hasClass('wtbx_dots_style_3') ) { 79 SCAPE.sliderPagination($slider, $slider.data('flickity').selectedIndex, $slider.flickity('getCellElements').length); 80 } 81 82 if ( $slider.closest('.wtbx_vc_image_carousel').find('.wtbx_image_carousel_pagination').hasClass('wtbx_dots_style_3') ) { 83 $(window).resize(function() { 84 SCAPE.waitForFinalEvent( function() { 85 SCAPE.sliderPagination($slider, $slider.data('flickity').selectedIndex, $slider.flickity('getCellElements').length); 86 }, SCAPE.timeToWaitForLast, 'image_carousel'); 87 }); 88 } 89 90 if ($slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_overlap') || $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_centered')) { 91 setPrevNext($slider.data('flickity').selectedIndex, $slider.flickity('getCellElements').length); 92 } 93 94 $slider.on( 'select.flickity', function() { 95 if ( $slider.closest('.wtbx_vc_image_carousel').find('.wtbx_image_carousel_pagination').hasClass('wtbx_dots_style_3') ) { 96 SCAPE.sliderPagination($slider, $slider.data('flickity').selectedIndex, $slider.flickity('getCellElements').length); 97 } 98 99 if ($slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_overlap') || $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_centered')) { 100 setPrevNext($slider.data('flickity').selectedIndex, $slider.flickity('getCellElements').length); 101 } 102 103 if ( $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_scale') || $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_centered') ) { 104 $slider.closest('.wtbx_image_carousel_wrapper').find('.wtbx_arrows').addClass('wtbx_sliding'); 105 setTimeout(function() { 106 $slider.closest('.wtbx_image_carousel_wrapper').find('.wtbx_arrows').removeClass('wtbx_sliding'); 107 }, 1000); 108 } 109 }); 110 111 $slider.on( 'dragStart.flickity', function() { 112 if ( $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_scale') || $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_centered') ) { 113 $slider.closest('.wtbx_image_carousel_wrapper').find('.wtbx_arrows').addClass('wtbx_sliding'); 114 } 115 }); 116 117 $slider.on( 'settle.flickity dragEnd.flickity', function() { 118 $slider.closest('.wtbx_image_carousel_wrapper').find('.wtbx_arrows').removeClass('wtbx_sliding'); 119 }); 120 121 $slider.on( 'scroll.flickity', function(event, progress) { 122 if ( $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_scale') || $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_centered') ) { 123 if ( !$slider.find('.flickity-viewport').hasClass('is-pointer-down') ) { 124 var data = $slider.data('flickity'), 125 slide_progress = (data.selectedIndex / (data.slides.length - 1)); 126 127 if ( slide_progress - progress < 0.01 ) { 128 $slider.closest('.wtbx_image_carousel_wrapper').find('.wtbx_arrows').removeClass('wtbx_sliding'); 129 } 130 } 131 } 132 }); 133 134 if ( $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_scale') || $slider.closest('.wtbx_vc_image_carousel').hasClass('wtbx_style_centered') ) { 135 $(window).resize(function() { 136 SCAPE.waitForFinalEvent( function() { 137 $slider.closest('.wtbx_image_carousel_wrapper').find('.wtbx_arrows').removeClass('wtbx_sliding'); 138 }, 500, 'image_carousel_buttons'); 139 }); 140 } 141 142 // Button Navigation 143 $slider.parent().find('.wtbx_arrow_prev').on('click', function () { 144 $slider.flickity('previous'); 145 $slider.trigger('focus'); 146 }); 147 $slider.parent().find('.wtbx_arrow_next').on('click', function () { 148 $slider.flickity('next'); 149 $slider.trigger('focus'); 150 }); 151 }); 152 } 153 } 154 }; 155 156 jQuery(document).ready(function($) { 157 if ( !$('body').hasClass('wtbx-frontend-editor') ) { 158 SCAPE.imageCarousel.init(); 159 } 160 }); 161 162 163})(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.