text: "use strict";
  
  // ChartJS
  if(window.Chart) {
    Chart.defaults.global.defaultFontFamily = "'Nunito', 'Segoe UI', 'Arial'";
    Chart.defaults.global.defaultFontSize = 12;
    Chart.defaults.global.defaultFontStyle = 500;
    Chart.defaults.global.defaultFontColor = "#999";
    Chart.defaults.global.tooltips.backgroundColor = "#000";
    Chart.defaults.global.tooltips.bodyFontColor = "rgba(255,255,255,.7)";
    Chart.defaults.global.tooltips.titleMarginBottom = 10;
    Chart.defaults.global.tooltips.titleFontSize = 14;
    Chart.defaults.global.tooltips.titleFontFamily = "'Nunito', 'Segoe UI', 'Arial'";
    Chart.defaults.global.tooltips.titleFontColor = '#fff';
    Chart.defaults.global.tooltips.xPadding = 15;
    Chart.defaults.global.tooltips.yPadding = 15;
    Chart.defaults.global.tooltips.displayColors = false;
    Chart.defaults.global.tooltips.intersect = false;
    Chart.defaults.global.tooltips.mode = 'nearest';
  }
  
  // DropzoneJS
  if(window.Dropzone) {
    Dropzone.autoDiscover = false;
  }
  
  // Basic confirm box
  $('[data-confirm]').each(function() {
    var me = $(this),
        me_data = me.data('confirm');
  
    me_data = me_data.split("|");
    me.fireModal({
      title: me_data[0],
      body: me_data[1],
      buttons: [
        {
          text: me.data('confirm-text-yes') || 'Yes',
          class: 'btn btn-danger btn-shadow',
          handler: function() {
            eval(me.data('confirm-yes'));
          }
        },
        {
          text: me.data('confirm-text-cancel') || 'Cancel',
          class: 'btn btn-secondary',
          handler: function(modal) {
            $.destroyModal(modal);
            eval(me.data('confirm-no'));
          }
        }
      ]
    })
  });
  
  // Global
  $(function() {
    let sidebar_nicescroll_opts = {
      cursoropacitymin: 0,
      cursoropacitymax: .8,
      zindex: 892
    }, now_layout_class = null;
  
    var sidebar_sticky = function() {
      if($("body").hasClass('layout-2')) {
        $("body.layout-2 #sidebar-wrapper").stick_in_parent({
          parent: $('body')
        });
        $("body.layout-2 #sidebar-wrapper").stick_in_parent({recalc_every: 1});
      }
    };
    sidebar_sticky();
  
    var sidebar_nicescroll;
    var update_sidebar_nicescroll = function() {
      let a = setInterval(function() {
        if(sidebar_nicescroll != null)
          sidebar_nicescroll.resize();
      }, 10);
  
      setTimeout(function() {
        clearInterval(a);
      }, 600);
    };
  
    var sidebar_dropdown = function() {
      if($(".main-sidebar").length) {
        $(".main-sidebar").niceScroll(sidebar_nicescroll_opts);
        sidebar_nicescroll = $(".main-sidebar").getNiceScroll();
  
        $(".main-sidebar .sidebar-menu li a.has-dropdown").off('click').on('click', function() {
          var me     = $(this);
          var active = false;
          if(me.parent().hasClass("active")){
            active = true;
          }
  
          $('.main-sidebar .sidebar-menu li.active > .dropdown-menu').slideUp(500, function() {
            update_sidebar_nicescroll();
            return false;
          });
  
          $('.main-sidebar .sidebar-menu li.active').removeClass('active');
  
          if(active==true) {
            me.parent().removeClass('active');
            me.parent().find('> .dropdown-menu').slideUp(500, function() {
              update_sidebar_nicescroll();
              return false;
            });
          }else{
            me.parent().addClass('active');
            me.parent().find('> .dropdown-menu').slideDown(500, function() {
              update_sidebar_nicescroll();
              return false;
            });
          }
  
          return false;
        });
  
        $('.main-sidebar .sidebar-menu li.active > .dropdown-menu').slideDown(500, function() {
          update_sidebar_nicescroll();
          return false;
        });
      }
    };
    sidebar_dropdown();
  
    if($("#top-5-scroll").length) {
      $("#top-5-scroll").css({
        height: 315
      }).niceScroll();
    }
  
    $(".main-content").css({
      minHeight: $(window).outerHeight() - 108
    });
  
    $(".nav-collapse-toggle").click(function() {
      $(this).parent().find('.navbar-nav').toggleClass('show');
      return false;
    });
  
    $(document).on('click', function(e) {
      $(".nav-collapse .navbar-nav").removeClass('show');
    });
  
    var toggle_sidebar_mini = function(mini) {
      let body = $('body');
  
      if(!mini) {
        body.removeClass('sidebar-mini');
        $(".main-sidebar").css({
          overflow: 'hidden'
        });
        setTimeout(function() {
          $(".main-sidebar").niceScroll(sidebar_nicescroll_opts);
          sidebar_nicescroll = $(".main-sidebar").getNiceScroll();
        }, 500);
        $(".main-sidebar .sidebar-menu > li > ul .dropdown-title").remove();
        $(".main-sidebar .sidebar-menu > li > a").removeAttr('data-toggle');
        $(".main-sidebar .sidebar-menu > li > a").removeAttr('data-original-title');
        $(".main-sidebar .sidebar-menu > li > a").removeAttr('title');
      }else{
        body.addClass('sidebar-mini');
        body.removeClass('sidebar-show');
        sidebar_nicescroll.remove();
        sidebar_nicescroll = null;
        $(".main-sidebar .sidebar-menu > li").each(function() {
          let me = $(this);
  
          if(me.find('> .dropdown-menu').length) {
            me.find('> .dropdown-menu').hide();
            me.find('> .dropdown-menu').prepend('<li class="dropdown-title pt-3">'+ me.find('> a').text() +'</li>');
          }else{
            me.find('> a').attr('data-toggle', 'tooltip');
            me.find('> a').attr('data-original-title', me.find('> a').text());
            $("[data-toggle='tooltip']").tooltip({
              placement: 'right'
            });
          }
        });
      }
    };
  
    $("[data-toggle='sidebar']").click(function() {
      var body = $("body"),
        w = $(window);
  
      if(w.outerWidth() <= 1024) {
        body.removeClass('search-show search-gone');
        if(body.hasClass('sidebar-gone')) {
          body.removeClass('sidebar-gone');
          body.addClass('sidebar-show');
        }else{
          body.addClass('sidebar-gone');
          body.removeClass('sidebar-show');
        }
  
        update_sidebar_nicescroll();
      }else{
        body.removeClass('search-show search-gone');
        if(body.hasClass('sidebar-mini')) {
          toggle_sidebar_mini(false);
        }else{
          toggle_sidebar_mini(true);
        }
      }
  
      return false;
    });
  
    var toggleLayout = function() {
      var w = $(window),
        layout_class = $('body').attr('class') || '',
        layout_classes = (layout_class.trim().length > 0 ? layout_class.split(' ') : '');
  
      if(layout_classes.length > 0) {
        layout_classes.forEach(function(item) {
          if(item.indexOf('layout-') != -1) {
            now_layout_class = item;
          }
        });
      }
  
      if(w.outerWidth() <= 1024) {
        if($('body').hasClass('sidebar-mini')) {
          toggle_sidebar_mini(false);
          $('.main-sidebar').niceScroll(sidebar_nicescroll_opts);
          sidebar_nicescroll = $(".main-sidebar").getNiceScroll();
        }
  
        $("body").addClass("sidebar-gone");
        $("body").removeClass("layout-2 layout-3 sidebar-mini sidebar-show");
        $("body").off('click touchend').on('click touchend', function(e) {
          if($(e.target).hasClass('sidebar-show') || $(e.target).hasClass('search-show')) {
            $("body").removeClass("sidebar-show");
            $("body").addClass("sidebar-gone");
            $("body").removeClass("search-show");
  
            update_sidebar_nicescroll();
          }
        });
  
        update_sidebar_nicescroll();
  
        if(now_layout_class == 'layout-3') {
          let nav_second_classes = $(".navbar-secondary").attr('class'),
            nav_second = $(".navbar-secondary");
  
          nav_second.attr('data-nav-classes', nav_second_classes);
          nav_second.removeAttr('class');
          nav_second.addClass('main-sidebar');
  
          let main_sidebar = $(".main-sidebar");
          main_sidebar.find('.container').addClass('sidebar-wrapper').removeClass('container');
          main_sidebar.find('.navbar-nav').addClass('sidebar-menu').removeClass('navbar-nav');
          main_sidebar.find('.sidebar-menu .nav-item.dropdown.show a').click();
          main_sidebar.find('.sidebar-brand').remove();
          main_sidebar.find('.sidebar-menu').before($('<div>', {
            class: 'sidebar-brand'
          }).append(
            $('<a>', {
              href: $('.navbar-brand').attr('href'),
            }).html($('.navbar-brand').html())
          ));
          setTimeout(function() {
            sidebar_nicescroll = main_sidebar.niceScroll(sidebar_nicescroll_opts);
            sidebar_nicescroll = main_sidebar.getNiceScroll();
          }, 700);
  
          sidebar_dropdown();
          $(".main-wrapper").removeClass("container");
        }
      }else{
        $("body").removeClass("sidebar-gone sidebar-show");
        if(now_layout_class)
          $("body").addClass(now_layout_class);
  
        let nav_second_classes = $(".main-sidebar").attr('data-nav-classes'),
          nav_second = $(".main-sidebar");
  
        if(now_layout_class == 'layout-3' && nav_second.hasClass('main-sidebar')) {
          nav_second.find(".sidebar-menu li a.has-dropdown").off('click');
          nav_second.find('.sidebar-brand').remove();
          nav_second.removeAttr('class');
          nav_second.addClass(nav_second_classes);
  
          let main_sidebar = $(".navbar-secondary");
          main_sidebar.find('.sidebar-wrapper').addClass('container').removeClass('sidebar-wrapper');
          main_sidebar.find('.sidebar-menu').addClass('navbar-nav').removeClass('sidebar-menu');
          main_sidebar.find('.dropdown-menu').hide();
          main_sidebar.removeAttr('style');
          main_sidebar.removeAttr('tabindex');
          main_sidebar.removeAttr('data-nav-classes');
          $(".main-wrapper").addClass("container");
          // if(sidebar_nicescroll != null)
          //   sidebar_nicescroll.remove();
        }else if(now_layout_class == 'layout-2') {
          $("body").addClass("layout-2");
        }else{
          update_sidebar_nicescroll();
        }
      }
    };
    toggleLayout();
    $(window).resize(toggleLayout);
  
    $("[data-toggle='search']").click(function() {
      var body = $("body");
  
      if(body.hasClass('search-gone')) {
        body.addClass('search-gone');
        body.removeClass('search-show');
      }else{
        body.removeClass('search-gone');
        body.addClass('search-show');
      }
    });
  
    // tooltip
    $("[data-toggle='tooltip']").tooltip();
  
    // popover
    $('[data-toggle="popover"]').popover({
      container: 'body'
    });
  
    // Select2
    if(jQuery().select2) {
      $(".select2").select2();
    }
  
    // Selectric
    if(jQuery().selectric) {
      $(".selectric").selectric({
        disableOnMobile: false,
        nativeOnMobile: false
      });
    }
  
    $(".notification-toggle").dropdown();
    $(".notification-toggle").parent().on('shown.bs.dropdown', function() {
      $(".dropdown-list-icons").niceScroll({
        cursoropacitymin: .3,
        cursoropacitymax: .8,
        cursorwidth: 7
      });
    });
  
    $(".message-toggle").dropdown();
    $(".message-toggle").parent().on('shown.bs.dropdown', function() {
      $(".dropdown-list-message").niceScroll({
        cursoropacitymin: .3,
        cursoropacitymax: .8,
        cursorwidth: 7
      });
    });
  
    if($(".chat-content").length) {
      $(".chat-content").niceScroll({
          cursoropacitymin: .3,
          cursoropacitymax: .8,
      });
      $('.chat-content').getNiceScroll(0).doScrollTop($('.chat-content').height());
    }
  
    if(jQuery().summernote) {
      $(".summernote").summernote({
         dialogsInBody: true,
        minHeight: 250,
      });
      $(".summernote-simple").summernote({
         dialogsInBody: true,
        minHeight: 150,
        toolbar: [
          ['style', ['bold', 'italic', 'underline', 'clear']],
          ['font', ['strikethrough']],
          ['para', ['paragraph']]
        ]
      });
    }
  
    if(window.CodeMirror) {
      $(".codeeditor").each(function() {
        let editor = CodeMirror.fromTextArea(this, {
          lineNumbers: true,
          theme: "duotone-dark",
          mode: 'javascript',
          height: 200
        });
        editor.setSize("100%", 200);
      });
    }
  
    // Follow function
    $('.follow-btn, .following-btn').each(function() {
      var me = $(this),
          follow_text = 'Follow',
          unfollow_text = 'Following';
  
      me.click(function() {
        if(me.hasClass('following-btn')) {
          me.removeClass('btn-danger');
          me.removeClass('following-btn');
          me.addClass('btn-primary');
          me.html(follow_text);
  
          eval(me.data('unfollow-action'));
        }else{
          me.removeClass('btn-primary');
          me.addClass('btn-danger');
          me.addClass('following-btn');
          me.html(unfollow_text);
  
          eval(me.data('follow-action'));
        }
        return false;
      });
    });
  
    // Dismiss function
    $("[data-dismiss]").each(function() {
      var me = $(this),
          target = me.data('dismiss');
  
      me.click(function() {
        $(target).fadeOut(function() {
          $(target).remove();
        });
        return false;
      });
    });
  
    // Collapsable
    $("[data-collapse]").each(function() {
      var me = $(this),
          target = me.data('collapse');
  
      me.click(function() {
        $(target).collapse('toggle');
        $(target).on('shown.bs.collapse', function(e) {
          e.stopPropagation();
          me.html('<i class="fas fa-minus"></i>');
        });
        $(target).on('hidden.bs.collapse', function(e) {
          e.stopPropagation();
          me.html('<i class="fas fa-plus"></i>');
        });
        return false;
      });
    });
  
    // Gallery
    $(".gallery .gallery-item").each(function() {
      var me = $(this);
  
      me.attr('href', me.data('image'));
      me.attr('title', me.data('title'));
      if(me.parent().hasClass('gallery-fw')) {
        me.css({
          height: me.parent().data('item-height'),
        });
        me.find('div').css({
          lineHeight: me.parent().data('item-height') + 'px'
        });
      }
      me.css({
        backgroundImage: 'url("'+ me.data('image') +'")'
      });
    });
    if(jQuery().Chocolat) {
      $(".gallery").Chocolat({
        className: 'gallery',
        imageSelector: '.gallery-item',
      });
    }
  
    // Background
    $("[data-background]").each(function() {
      var me = $(this);
      me.css({
        backgroundImage: 'url(' + me.data('background') + ')'
      });
    });
  
    // Custom Tab
    $("[data-tab]").each(function() {
      var me = $(this);
  
      me.click(function() {
        if(!me.hasClass('active')) {
          var tab_group = $('[data-tab-group="' + me.data('tab') + '"]'),
              tab_group_active = $('[data-tab-group="' + me.data('tab') + '"].active'),
              target = $(me.attr('href')),
              links = $('[data-tab="'+me.data('tab') +'"]');
  
          links.removeClass('active');
          me.addClass('active');
          target.addClass('active');
          tab_group_active.removeClass('active');
        }
        return false;
      });
    });
  
    // Bootstrap 4 Validation
    $(".needs-validation").submit(function() {
      var form = $(this);
      if (form[0].checkValidity() === false) {
        event.preventDefault();
        event.stopPropagation();
      }
      form.addClass('was-validated');
    });
  
    // alert dismissible
    $(".alert-dismissible").each(function() {
      var me = $(this);
  
      me.find('.close').click(function() {
        me.alert('close');
      });
    });
  
    if($('.main-navbar').length) {
    }
  
    // Image cropper
    $('[data-crop-image]').each(function(e) {
      $(this).css({
        overflow: 'hidden',
        position: 'relative',
        height: $(this).data('crop-image')
      });
    });
  
    // Slide Toggle
    $('[data-toggle-slide]').click(function() {
      let target = $(this).data('toggle-slide');
  
      $(target).slideToggle();
      return false;
    });
  
    // Dismiss modal
    $("[data-dismiss=modal]").click(function() {
      $(this).closest('.modal').modal('hide');
  
      return false;
    });
  
    // Width attribute
    $('[data-width]').each(function() {
      $(this).css({
        width: $(this).data('width')
      });
    });
  
    // Height attribute
    $('[data-height]').each(function() {
      $(this).css({
        height: $(this).data('height')
      });
    });
  
    // Chocolat
    if($('.chocolat-parent').length && jQuery().Chocolat) {
      $('.chocolat-parent').Chocolat();
    }
  
    // Sortable card
    if($('.sortable-card').length && jQuery().sortable) {
      $('.sortable-card').sortable({
        handle: '.card-header',
        opacity: .8,
        tolerance: 'pointer'
      });
    }
  
    // Daterangepicker
    if(jQuery().daterangepicker) {
      if($(".datepicker").length) {
        $('.datepicker').daterangepicker({
          locale: {format: 'YYYY-MM-DD'},
          singleDatePicker: true,
        });
      }
      if($(".datetimepicker").length) {
        $('.datetimepicker').daterangepicker({
          locale: {format: 'YYYY-MM-DD hh:mm'},
          singleDatePicker: true,
          timePicker: true,
          timePicker24Hour: true,
        });
      }
      if($(".daterange").length) {
        $('.daterange').daterangepicker({
          locale: {format: 'YYYY-MM-DD'},
          drops: 'down',
          opens: 'right'
        });
      }
    }
  
    // Timepicker
    if(jQuery().timepicker && $(".timepicker").length) {
      $(".timepicker").timepicker({
        icons: {
          up: 'fas fa-chevron-up',
          down: 'fas fa-chevron-down'
        }
      });
    }
  });
  