1(function ($, w) { 2 "use strict"; 3 var $window = $(w); 4 5 $window.on('elementor/frontend/init', function() { 6 7 var Slick = elementorModules.frontend.handlers.Base.extend({ 8 onInit: function () { 9 elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments); 10 this.$container = this.$element.find('.blfe-carousel'); 11 this.run(); 12 }, 13 14 isCarousel: function() { 15 if(this.$element.hasClass('elementor-widget-blfe-post-grid')){ 16 return this.$element.hasClass('elementor-widget-blfe-post-grid'); 17 } else if(this.$element.hasClass('elementor-widget-blfe-post-list')){ 18 return this.$element.hasClass('elementor-widget-blfe-post-list'); 19 } else if( this.$element.hasClass('elementor-widget-blfe-news-ticker') ){ 20 return this.$element.hasClass('elementor-widget-blfe-news-ticker'); 21 } 22 }, 23 getDefaultSettings: function() { 24 return { 25 arrows: false, 26 dots: false, 27 checkVisible: false, 28 infinite: true, 29 slidesToShow: this.isCarousel() ? 3 : 1, 30 rows: 0, 31 prevArrow: '<button type="button" class="slick-prev"><i class="fa fa-chevron-left"></i></button>', 32 nextArrow: '<button type="button" class="slick-next"><i class="fa fa-chevron-right"></i></button>', 33 } 34 }, 35 36 onElementChange: function() { 37 this.$container.slick('unslick'); 38 this.run(); 39 }, 40 41 getReadySettings: function() { 42 43 var skin = this.$container.data('skin'); 44 45 var settings = { 46 autoplay: !! this.getElementSettings(''+skin+'_autoplay'), 47 autoplaySpeed: this.getElementSettings(''+skin+'_autoplay_speed'), 48 pauseOnHover: !! this.getElementSettings(''+skin+'_pause_on_hover'), 49 infinite: !! this.getElementSettings(''+skin+'_loop'), 50 speed: this.getElementSettings(''+skin+'_animation_speed'), 51 slidesToScroll: 1, 52 fade: this.getElementSettings(''+skin+'_animation') === 'fade', 53 }; 54 55 switch (this.getElementSettings(''+skin+'_navigation')) { 56 case 'arrows': 57 settings.arrows = true; 58 break; 59 case 'dots': 60 settings.dots = true; 61 break; 62 case 'both': 63 settings.arrows = true; 64 settings.dots = true; 65 break; 66 } 67 68 if ( this.isCarousel() ) { 69 settings.slidesToShow = this.getElementSettings(''+skin+'_slides_to_show') || 3; 70 71 settings.responsive = [ 72 { 73 breakpoint: elementorFrontend.config.breakpoints.lg, 74 settings: { 75 slidesToShow: (this.getElementSettings(''+skin+'_slides_to_show_tablet') || settings.slidesToShow), 76 } 77 }, 78 { 79 breakpoint: elementorFrontend.config.breakpoints.md, 80 settings: { 81 slidesToShow: (this.getElementSettings(''+skin+'_slides_to_show_mobile') || this.getElementSettings(''+skin+'_slides_to_show_tablet')) || settings.slidesToShow, 82 } 83 } 84 ]; 85 } 86 87 return $.extend({}, this.getDefaultSettings(), settings); 88 }, 89 90 run: function() { 91 this.$container.slick(this.getReadySettings()); 92 } 93 }); 94 95 var handlersClassMap = { 96 'blfe-post-grid.classic1': Slick, 97 'blfe-post-grid.classic2': Slick, 98 'blfe-post-grid.hero1': Slick, 99 'blfe-post-grid.hero2': Slick, 100 'blfe-post-grid.hero3': Slick, 101 'blfe-post-grid.hero4': Slick, 102 'blfe-post-grid.hero5': Slick, 103 'blfe-post-grid.hero6': Slick, 104 'blfe-post-grid.hero7': Slick, 105 'blfe-post-grid.hero8': Slick, 106 'blfe-post-grid.hero9': Slick, 107 'blfe-post-grid.hero10': Slick, 108 109 'blfe-post-list.classic1': Slick, 110 'blfe-post-list.classic2': Slick, 111 112 'blfe-news-ticker.classic1': Slick, 113 'blfe-news-ticker.classic2': Slick, 114 }; 115 116 $.each( handlersClassMap, function( widgetName, handlerClass ) { 117 elementorFrontend.hooks.addAction( 'frontend/element_ready/' + widgetName, function( $scope ) { 118 elementorFrontend.elementsHandler.addHandler( handlerClass, { $element: $scope }); 119 }); 120 }); 121 122 }); 123} (jQuery, window));
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.