188 lines
6.8 KiB
JavaScript
188 lines
6.8 KiB
JavaScript
/*
|
|
Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard
|
|
Author: Themesbrand
|
|
Version: 1.0.0
|
|
Website: https://themesbrand.com/
|
|
Contact: themesbrand@gmail.com
|
|
File: Main Js File
|
|
*/
|
|
|
|
|
|
(function ($) {
|
|
|
|
'use strict';
|
|
|
|
function initMetisMenu() {
|
|
//metis menu
|
|
$("#side-menu").metisMenu();
|
|
}
|
|
|
|
function initLeftMenuCollapse() {
|
|
$('#vertical-menu-btn').on('click', function (event) {
|
|
event.preventDefault();
|
|
$('body').toggleClass('sidebar-enable');
|
|
if ($(window).width() >= 992) {
|
|
$('body').toggleClass('vertical-collpsed');
|
|
} else {
|
|
$('body').removeClass('vertical-collpsed');
|
|
}
|
|
});
|
|
}
|
|
|
|
function initActiveMenu() {
|
|
// === following js will activate the menu in left side bar based on url ====
|
|
$("#sidebar-menu a").each(function () {
|
|
var pageUrl = window.location.href.split(/[?#]/)[0];
|
|
if (this.href == pageUrl) {
|
|
$(this).addClass("active");
|
|
$(this).parent().addClass("mm-active"); // add active to li of the current link
|
|
$(this).parent().parent().addClass("mm-show");
|
|
$(this).parent().parent().prev().addClass("mm-active"); // add active class to an anchor
|
|
$(this).parent().parent().parent().addClass("mm-active");
|
|
$(this).parent().parent().parent().parent().addClass("mm-show"); // add active to li of the current link
|
|
$(this).parent().parent().parent().parent().parent().addClass("mm-active");
|
|
}
|
|
});
|
|
}
|
|
|
|
function initMenuItem() {
|
|
$(".navbar-nav a").each(function () {
|
|
var pageUrl = window.location.href.split(/[?#]/)[0];
|
|
if (this.href == pageUrl) {
|
|
$(this).addClass("active");
|
|
$(this).parent().addClass("active");
|
|
$(this).parent().parent().addClass("active");
|
|
$(this).parent().parent().parent().addClass("active");
|
|
$(this).parent().parent().parent().parent().addClass("active");
|
|
$(this).parent().parent().parent().parent().parent().addClass("active");
|
|
}
|
|
});
|
|
}
|
|
|
|
function initFullScreen() {
|
|
$('[data-toggle="fullscreen"]').on("click", function (e) {
|
|
e.preventDefault();
|
|
$('body').toggleClass('fullscreen-enable');
|
|
if (!document.fullscreenElement && /* alternative standard method */ !document.mozFullScreenElement && !document.webkitFullscreenElement) { // current working methods
|
|
if (document.documentElement.requestFullscreen) {
|
|
document.documentElement.requestFullscreen();
|
|
} else if (document.documentElement.mozRequestFullScreen) {
|
|
document.documentElement.mozRequestFullScreen();
|
|
} else if (document.documentElement.webkitRequestFullscreen) {
|
|
document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
|
|
}
|
|
} else {
|
|
if (document.cancelFullScreen) {
|
|
document.cancelFullScreen();
|
|
} else if (document.mozCancelFullScreen) {
|
|
document.mozCancelFullScreen();
|
|
} else if (document.webkitCancelFullScreen) {
|
|
document.webkitCancelFullScreen();
|
|
}
|
|
}
|
|
});
|
|
document.addEventListener('fullscreenchange', exitHandler );
|
|
document.addEventListener("webkitfullscreenchange", exitHandler);
|
|
document.addEventListener("mozfullscreenchange", exitHandler);
|
|
function exitHandler() {
|
|
if (!document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) {
|
|
console.log('pressed');
|
|
$('body').removeClass('fullscreen-enable');
|
|
}
|
|
}
|
|
}
|
|
|
|
function initRightSidebar() {
|
|
// right side-bar toggle
|
|
$('.right-bar-toggle').on('click', function (e) {
|
|
$('body').toggleClass('right-bar-enabled');
|
|
});
|
|
|
|
$(document).on('click', 'body', function (e) {
|
|
if ($(e.target).closest('.right-bar-toggle, .right-bar').length > 0) {
|
|
return;
|
|
}
|
|
|
|
$('body').removeClass('right-bar-enabled');
|
|
return;
|
|
});
|
|
}
|
|
|
|
function initDropdownMenu() {
|
|
$('.dropdown-menu a.dropdown-toggle').on('click', function(e) {
|
|
if (!$(this).next().hasClass('show')) {
|
|
$(this).parents('.dropdown-menu').first().find('.show').removeClass("show");
|
|
}
|
|
var $subMenu = $(this).next(".dropdown-menu");
|
|
$subMenu.toggleClass('show');
|
|
|
|
return false;
|
|
});
|
|
}
|
|
|
|
function initComponents() {
|
|
$(function () {
|
|
$('[data-toggle="tooltip"]').tooltip()
|
|
})
|
|
|
|
$(function () {
|
|
$('[data-toggle="popover"]').popover()
|
|
})
|
|
}
|
|
|
|
function initPreloader() {
|
|
$(window).on('load', function() {
|
|
$('#status').fadeOut();
|
|
$('#preloader').delay(350).fadeOut('slow');
|
|
});
|
|
}
|
|
|
|
function initSettings() {
|
|
if (window.sessionStorage) {
|
|
var alreadyVisited = sessionStorage.getItem("is_visited");
|
|
if (!alreadyVisited) {
|
|
sessionStorage.setItem("is_visited", "light-mode-switch");
|
|
} else {
|
|
$(".right-bar input:checkbox").prop('checked', false);
|
|
$("#"+alreadyVisited).prop('checked', true);
|
|
updateThemeSetting(alreadyVisited);
|
|
}
|
|
}
|
|
$("#light-mode-switch, #dark-mode-switch").on("change", function(e) {
|
|
updateThemeSetting(e.target.id);
|
|
});
|
|
}
|
|
|
|
function updateThemeSetting(id) {
|
|
if($("#light-mode-switch").prop("checked") == true && id === "light-mode-switch"){
|
|
$("#dark-mode-switch").prop("checked", false);
|
|
$("#bootstrap-style").attr('href','assets/css/bootstrap.min.css');
|
|
$("#app-style").attr('href','assets/css/app.css');
|
|
sessionStorage.setItem("is_visited", "light-mode-switch");
|
|
} else if($("#dark-mode-switch").prop("checked") == true && id === "dark-mode-switch"){
|
|
$("#light-mode-switch").prop("checked", false);
|
|
$("#bootstrap-style").attr('href','assets/css/bootstrap-dark.min.css');
|
|
$("#app-style").attr('href','assets/css/app-dark.css');
|
|
sessionStorage.setItem("is_visited", "dark-mode-switch");
|
|
}
|
|
}
|
|
|
|
function init() {
|
|
initMetisMenu();
|
|
initLeftMenuCollapse();
|
|
initActiveMenu();
|
|
initMenuItem();
|
|
initFullScreen();
|
|
initRightSidebar();
|
|
initDropdownMenu();
|
|
initComponents();
|
|
initSettings();
|
|
initPreloader();
|
|
Waves.init();
|
|
}
|
|
|
|
init();
|
|
|
|
})(jQuery)
|
|
|