• File: elementor.js
  • Full Path: /home/chassiw/www/wp-content/themes/buildbench/assets/js/elementor.js
  • File size: 6.97 KB
  • MIME-type: text/plain
  • Charset: utf-8
( function ($, elementor) {
	"use strict";


    var Buildbench = {

        init: function () {
            
            var widgets = {
				'buildbench-project.default': Buildbench.Project_filter_mixcontent,
				'buildbench-testimonial.default': Buildbench.Testimonial,
				'buildbench-slider.default': Buildbench.Feature_slider,
				'buildbench-team.default': Buildbench.Team_member,
				'buildbench-funfact.default': Buildbench.Funfact,
		          
            };
            $.each(widgets, function (widget, callback) {
                elementor.hooks.addAction('frontend/element_ready/' + widget, callback);
            });
           
      },
      
      Funfact: function ($scope){
         /*==========================================================
            funfact 
         ============================================================*/
         var skl = true;
         $('.single-funfact').on('appear', function () {
            if (skl) {
               $('.funfact-title').each(function () {
                  var $this = $(this);
                  jQuery({
                     Counter: 0
                  }).animate({
                     Counter: $this.attr('data-counter')
                  }, {
                     duration: 8000,
                     easing: 'swing',
                     step: function () {
                        var num = Math.ceil(this.Counter).toString();
                        if (Number(num) > 99999) {
                           while (/(\d+)(\d{3})/.test(num)) {
                              num = num.replace(/(\d+)(\d{3})/, '');
                           }
                        }
                        $this.html(num);
                     }
                  });
               });
               skl = false;
            }
         });

      },
       
      Project_filter_mixcontent: function ($scope) {

         var $container = $scope.find('#mixcontent');
         
         $container.mixItUp({
            animation: {
                effects: 'fade translateX(50%)',
                reverseOut: true,
                duration: 1000
            },
            load: {
                filter: 'all'
            }
        });																									
		
      },
      
      Testimonial:function($scope){
         var $container = $scope.find('.testimonial-carousel');
         $container.owlCarousel({

            loop: true,
            autoplay: false,
            autoplayHoverPause: true,
            nav: true,
            dots: false,
            mouseDrag: true,
            touchDrag: true,
            slideSpeed: 500,
            navText: ["<i class='icon icon-chevron-left'></i>", "<i class='icon icon-chevron-right'></i>"],
            items: 1,
            responsive: {
               0: {
                  items: 1
               },
               600: {
                  items: 1
               },
               1000: {
                  items: 1,
               }
            }
      
         });
      },

      Feature_slider:function($scope){
         var $container = $scope.find('.features-slider');
         var controls = null;
         var autoplay = false;
         var slider_nav_show = true;
         if($container.attr('data-controls')){
            var controls = JSON.parse($container.attr('data-controls'));
            autoplay = controls.slide_autoplay=="yes"?true:false;
            slider_nav_show = controls.slider_nav_show=="yes"?true:false;
         }
       
    
     
         $container.owlCarousel({
            items: 1,
            loop: true,
            smartSpeed: 2000,
            dots: slider_nav_show,
            nav: slider_nav_show,
            navText: ["<i class='icon icon-chevron-left'></i>", "<i class='icon icon-chevron-right'></i>"],

            autoplay: autoplay,
            mouseDrag: true,
            responsive: {
               0: {
                  nav: slider_nav_show,
                  mouseDrag: false,
                  touchDrag:false,
               },
               600: {
                  nav: slider_nav_show,
                  mouseDrag: false,
                  touchDrag:false,
         
               },
               1000: {
                  nav: slider_nav_show,
                  mouseDrag: true,
                  touchDrag:true,
         
               }
            }
         });

         /*==========================================================
         banner slider Classic
         ============================================================*/
         var $container_classic = $scope.find('.features-slider-classic');
        
         var controls_cls = null;
         var autoplay_cls = false;
         var slider_nav_show_cls = false;
         if($container_classic.attr('data-controlsbox')){

         controls_cls = JSON.parse($container_classic.attr('data-controlsbox'));
               autoplay_cls = controls_cls.slide_autoplay=="yes"?true:false;
               slider_nav_show_cls = controls_cls.slider_nav_show=="yes"?true:false;
         }
      
         $container_classic.owlCarousel({
         items: 1,
         loop: true,
         smartSpeed: 2000,
         dots: slider_nav_show_cls,
         nav: slider_nav_show_cls,
         navText: ["<i class='icon icon-chevron-left'></i>", "<i class='icon icon-chevron-right'></i>"],

         autoplay: autoplay_cls,
         mouseDrag: true,
         responsive: {
            0: {
               nav: slider_nav_show_cls,
               mouseDrag: false,
               touchDrag:false,
            },
            600: {
               nav: slider_nav_show_cls,
               mouseDrag: false,
               touchDrag:false,

            },
            1000: {
               nav: slider_nav_show_cls,
               mouseDrag: true,
               touchDrag:true,

            }
         }
      });
      

      }, 


      Team_member:function($scope){
         
         var $container = $scope.find('#ts-team-slider');
         var member_count =  parseInt($container.data('numofteam'));
       
         if ($container.length > 0) {

            $container.owlCarousel({
               nav: false,
               items: member_count || 1,
               loop: true,
               reponsiveClass: true,
               navText: ["<i class='icon icon-arrow-left'></i>", "<i class='icon icon-arrow-right'></i>"],

               dots: true,
               responsive: {
                  // breakpoint from 0 up
                  0: {
                        items: 1,
                  },
                  // breakpoint from 480 up
                  480: {
                     items: member_count<2?1:2,
                  },
                  // breakpoint from 768 up
                  768: {
                        items: member_count<3?1:3,
                  },
                  // breakpoint from 768 up
                  1200: {
                        items: member_count || 1,
                  }
               }
            });
         }


      }
		
	
    };
    $(window).on('elementor/frontend/init', Buildbench.init);
}(jQuery, window.elementorFrontend) );