2024-03-16 20:37:32 +01:00

141 lines
4.0 KiB
JavaScript

/*
Template Name: Zoogler - Bootstrap 4 Admin Dashboard
Author: Mannatthemes
Website: www.mannatthemes.com
File: Main js
*/
!function ($) {
"use strict";
//Body
var MainApp = function () {
this.$body = $("body"),
this.$wrapper = $("#wrapper"),
this.$leftMenuButton = $('.button-menu-mobile'),
this.$menuItem = $('.has_sub > a')
};
//Slim Scroll
MainApp.prototype.initSlimscroll = function () {
$('.slimscrollleft').slimscroll({
height: 'auto',
position: 'right',
size: "6px",
color: '#babbde'
});
},
//Left Menu
MainApp.prototype.initLeftMenuCollapse = function () {
var $this = this;
this.$leftMenuButton.on('click', function (event) {
event.preventDefault();
$this.$body.toggleClass("fixed-left-void");
$this.$wrapper.toggleClass("enlarged");
});
},
//Components
MainApp.prototype.initComponents = function () {
$('[data-toggle="tooltip"]').tooltip();
$('[data-toggle="popover"]').popover();
},
//Menu
MainApp.prototype.initMenu = function () {
var $this = this;
$this.$menuItem.on('click', function () {
var parent = $(this).parent();
var sub = parent.find('> ul');
if (!$this.$body.hasClass('sidebar-collapsed')) {
if (sub.is(':visible')) {
sub.slideUp(300, function () {
parent.removeClass('nav-active');
$('.body-content').css({height: ''});
adjustMainContentHeight();
});
} else {
visibleSubMenuClose();
parent.addClass('nav-active');
sub.slideDown(300, function () {
adjustMainContentHeight();
});
}
}
return false;
});
//inner functions
function visibleSubMenuClose() {
$('.has_sub').each(function () {
var t = $(this);
if (t.hasClass('nav-active')) {
t.find('> ul').slideUp(300, function () {
t.removeClass('nav-active');
});
}
});
}
function adjustMainContentHeight() {
// Adjust main content height
var docHeight = $(document).height();
if (docHeight > $('.body-content').height())
$('.body-content').height(docHeight);
}
},
//Menu item
MainApp.prototype.activateMenuItem = function () {
// === following js will activate the menu in left side bar based on url ====
$("#sidebar-menu a").each(function () {
if (this.href == window.location.href) {
$(this).addClass("active");
$(this).parent().addClass("active"); // add active to li of the current link
$(this).parent().parent().prev().addClass("active"); // add active class to an anchor
$(this).parent().parent().parent().addClass("active"); // add active class to an anchor
$(this).parent().parent().prev().click(); // click the item to make it drop
}
});
},
//Loader
MainApp.prototype.Preloader = function () {
$(window).load(function() {
$('#status').fadeOut();
$('#preloader').delay(350).fadeOut('slow');
$('body').delay(350).css({
'overflow': 'visible'
});
});
},
MainApp.prototype.init = function () {
this.initSlimscroll();
this.initLeftMenuCollapse();
this.initComponents();
this.initMenu();
this.activateMenuItem();
this.Preloader();
},
//init
$.MainApp = new MainApp, $.MainApp.Constructor = MainApp
}(window.jQuery),
//initializing
function ($) {
"use strict";
$.MainApp.init();
}(window.jQuery);