text: /*=========================================================================================
    File Name: app.js
    Description: Template related app JS.
    ----------------------------------------------------------------------------------------
    Item Name: Stack - Responsive Admin Theme
    Version: 1.0
    Author: GeeksLabs
    Author URL: http://www.themeforest.net/user/geekslabs
  ==========================================================================================*/
  
  (function(window, document, $) {
      'use strict';
      var $html = $('html');
      var $body = $('body');
  
  
      $(window).on('load',function(){
          var rtl;
          if($('html').data('textdirection') == 'rtl'){
              rtl = true;
          }
  
          setTimeout(function(){
              $html.removeClass('loading').addClass('loaded');
          }, 1200);
  
          $.app.menu.init();
  
          // Navigation configurations
          var config = {
              speed: 300 // set speed to expand / collpase menu
          };
          if($.app.nav.initialized === false){
              $.app.nav.init(config);
          }
  
          Unison.on('change', function(bp) {
              $.app.menu.change();
          });
  
          // Tooltip Initialization
          $('[data-toggle="tooltip"]').tooltip({
              container:'body'
          });
  
          // Top Navbars - Hide on Scroll
          if ($(".navbar-hide-on-scroll").length > 0) {
              $(".navbar-hide-on-scroll.navbar-fixed-top").headroom({
                "offset": 205,
                "tolerance": 5,
                "classes": {
                   // when element is initialised
                  initial : "headroom",
                  // when scrolling up
                  pinned : "headroom--pinned-top",
                  // when scrolling down
                  unpinned : "headroom--unpinned-top",
                }
              });
              // Bottom Navbars - Hide on Scroll
              $(".navbar-hide-on-scroll.navbar-fixed-bottom").headroom({
                "offset": 205,
                "tolerance": 5,
                "classes": {
                   // when element is initialised
                  initial : "headroom",
                  // when scrolling up
                  pinned : "headroom--pinned-bottom",
                  // when scrolling down
                  unpinned : "headroom--unpinned-bottom",
                }
              });
          }
  
          // Mega menu slick carousel
          /*if ($('.responsive-slick').length > 0) {
              var $megamenuSlick = $('.responsive-slick');
              $megamenuSlick.slick({
                  rtl: rtl,
                  dots: false,
                  arrows: false,
                  infinite: true,
                  autoplay: true,
                  autoplaySpeed: 2000,
                  slidesToShow: 1,
                  slidesToScroll: 1
              });
          }*/
  
          // Collapsible Card
          $('a[data-action="collapse"]').on('click',function(e){
              e.preventDefault();
              $(this).closest('.card').children('.card-body').collapse('toggle');
              $(this).closest('.card').find('[data-action="collapse"] i').toggleClass('icon-minus4 icon-plus4');
  
          });
  
          // Toggle fullscreen
          $('a[data-action="expand"]').on('click',function(e){
              e.preventDefault();
              $(this).closest('.card').find('[data-action="expand"] i').toggleClass('icon-expand2 icon-contract');
              $(this).closest('.card').toggleClass('card-fullscreen');
          });
  
          //  Notifications & messages scrollable
          if($('.scrollable-container').length > 0){
              $('.scrollable-container').perfectScrollbar({
                  theme:"dark"
              });
          }
  
          // Reload Card
          $('a[data-action="reload"]').on('click',function(){
              var block_ele = $(this).closest('.card');
  
              // Block Element
              block_ele.block({
                  message: '<div class="ft-refresh-cw icon-spin font-medium-2"></div>',
                  timeout: 1444444000, //unblock after 2 seconds
                  overlayCSS: {
                      backgroundColor: '#FFF',
                      cursor: 'wait',
                  },
                  css: {
                      border: 0,
                      padding: 0,
                      backgroundColor: 'none'
                  }
              });
          });
  
          // Close Card
          $('a[data-action="close"]').on('click',function(){
              $(this).closest('.card').removeClass().slideUp('fast');
          });
  
          // Match the height of each card in a row
          setTimeout(function(){
              $('.row.match-height').each(function() {
                  $(this).find('.card').not('.card .card').matchHeight(); // Not .card .card prevents collapsible cards from taking height
              });
          },500);
  
  
          $('.card .heading-elements a[data-action="collapse"]').on('click',function(){
              var $this = $(this),
              card = $this.closest('.card');
              var cardHeight;
  
              if(parseInt(card[0].style.height,10) > 0){
                  cardHeight = card.css('height');
                  card.css('height','').attr('data-height', cardHeight);
              }
              else{
                  if(card.data('height')){
                      cardHeight = card.data('height');
                      card.css('height',cardHeight).attr('data-height', '');
                  }
              }
          });
  
          //Adjust fixed header body top padding
          /*if(!$('.header-navbar').hasClass('navbar-fixed-top')){
              $('body').css('padding-top',0);
          }*/
          // Remove the top padding in
          /*if(! $('.header-navbar').hasClass('navbar-fixed-top')){
              $('body').css('padding','0');
          }*/
  
          // Add open class to parent list item if subitem is active except compact menu
          var menuType = $body.data('menu');
          if(menuType != 'horizontal-menu'){
              $(".main-menu-content").find('li.active').parents('li').addClass('open');
          }
          if(menuType == 'horizontal-menu'){
              $(".main-menu-content").find('li.active').parents('li:not(.nav-item)').addClass('open');
              $(".main-menu-content").find('li.active').parents('li').addClass('active');
          }
  
          //card heading actions buttons small screen support
          $(".heading-elements-toggle").on("click",function(){
              $(this).parent().children(".heading-elements").toggleClass("visible");
          });
  
          //  Dynamic height for the chartjs div for the chart animations to work
          var chartjsDiv = $('.chartjs'),
          canvasHeight = chartjsDiv.children('canvas').attr('height');
          chartjsDiv.css('height', canvasHeight);
  
          if($('body').hasClass('boxed-layout')){
              if($('body').hasClass('vertical-overlay-menu')){
                 var menuWidth= $('.main-menu').width();
                 var contentPosition = $('.app-content').position().left;
                 var menuPositionAdjust = contentPosition-menuWidth;
                 if($('body').hasClass('menu-flipped')){
                      $('.main-menu').css('right',menuPositionAdjust+'px');
                 }else{
                      $('.main-menu').css('left',menuPositionAdjust+'px');
                 }
              }
          }
  
          $('.nav-link-search').on('click',function(){
              var $this = $(this),
              searchInput = $(this).siblings('.search-input');
  
              if(searchInput.hasClass('open')){
                  searchInput.removeClass('open');
              }
              else{
                  searchInput.addClass('open');
              }
          });
      });
  
  
      $(document).on('click', '.menu-toggle', function(e) {
          // var redeSocialLeft;
          e.preventDefault();
  
          // Toggle menu
          $.app.menu.toggle();
  
          setTimeout(function(){
              $(window).trigger( "resize" );
          },100);
  
          var redeSocialLeft = $('#rede-social-left');
  
          if(redeSocialLeft.hasClass('margin-left-30-px')){
              redeSocialLeft.removeClass('margin-left-30-px');
          }else {
              redeSocialLeft.addClass('margin-left-30-px');
          }
          return false;
      });
  
      $(document).on('click', '.open-navbar-container', function(e) {
  
          var currentBreakpoint = Unison.fetch.now();
  
          // Init drilldown on small screen
          $.app.menu.drillDownMenu(currentBreakpoint.name);
  
          // return false;
      });
  
      $(document).on('click', '.main-menu-footer .footer-toggle', function(e) {
          e.preventDefault();
          $(this).find('i').toggleClass('pe-is-i-angle-down pe-is-i-angle-up');
          $('.main-menu-footer').toggleClass('footer-close footer-open');
          return false;
      });
  
      // Add Children Class
      $('.navigation').find('li').has('ul').addClass('has-sub');
  
      $('.carousel').carousel({
        interval: 2000
      });
  
      // Page full screen
      $('.nav-link-expand').on('click', function(e) {
          if (typeof screenfull != 'undefined'){
              if (screenfull.enabled) {
                  screenfull.toggle();
              }
          }
      });
      if (typeof screenfull != 'undefined'){
          if (screenfull.enabled) {
              $(document).on(screenfull.raw.fullscreenchange, function(){
                  if(screenfull.isFullscreen){
                      $('.nav-link-expand').find('i').toggleClass('icon-contract icon-expand2');
                  }
                  else{
                      $('.nav-link-expand').find('i').toggleClass('icon-expand2 icon-contract');
                  }
              });
          }
      }
  
      $(document).on('click', '.mega-dropdown-menu', function(e) {
          e.stopPropagation();
      });
  
      $(document).ready(function(){
  
          /**********************************
          *   Form Wizard Step Icon
          **********************************/
          $('.step-icon').each(function(){
              var $this = $(this);
              if($this.siblings('span.step').length > 0){
                  $this.siblings('span.step').empty();
                  $(this).appendTo($(this).siblings('span.step'));
              }
          });
      });
  
      // Update manual scroller when window is resized
      $(window).resize(function() {
          $.app.menu.manualScroller.updateHeight();
      });
  
      // TODO : Tabs dropdown fix, remove this code once fixed in bootstrap 4.
      $('.nav.nav-tabs a.dropdown-item').on('click',function(){
          var $this = $(this),
          href = $this.attr('href');
          var tabs = $this.closest('.nav');
          tabs.find('.nav-link').removeClass('active');
          $this.closest('.nav-item').find('.nav-link').addClass('active');
          $this.closest('.dropdown-menu').find('.dropdown-item').removeClass('active');
          $this.addClass('active');
          tabs.next().find(href).siblings('.tab-pane').removeClass('active in').attr('aria-expanded',false);
          $(href).addClass('active in').attr('aria-expanded','true');
      });
  
      $('#sidebar-page-navigation').on('click', 'a.nav-link', function(e){
          e.preventDefault();
          e.stopPropagation();
          var $this = $(this),
          href= $this.attr('href');
          var offset = $(href).offset();
          var scrollto = offset.top - 80; // minus fixed header height
          $('html, body').animate({scrollTop:scrollto}, 0);
          setTimeout(function(){
              $this.parent('.nav-item').siblings('.nav-item').children('.nav-link').removeClass('active');
              $this.addClass('active');
          }, 100);
      });
  
  })(window, document, jQuery);
  