242 lines
8.4 KiB
JavaScript
Executable File
242 lines
8.4 KiB
JavaScript
Executable File
/*=========================================================================================
|
|
File Name: customizer.js
|
|
Description: Template customizer js.
|
|
----------------------------------------------------------------------------------------
|
|
Item Name: Vuesax HTML Admin Template
|
|
Version: 1.1
|
|
Author: Pixinvent
|
|
Author URL: hhttp://www.themeforest.net/user/pixinvent
|
|
==========================================================================================*/
|
|
|
|
(function (window, document, $) {
|
|
'use strict';
|
|
// main menu active gradient colors object
|
|
var themeColor = {
|
|
"theme-primary": "linear-gradient(118deg, #7367f0, rgba(115, 103, 240, 0.7))",
|
|
"theme-success": "linear-gradient(118deg, #28c76f, rgba(40, 199, 111 , 0.7))",
|
|
"theme-danger": "linear-gradient(118deg, #ea5455, rgba(234, 84, 85, 0.7))",
|
|
"theme-info": "linear-gradient(118deg, #00cfe8, rgba(0, 207, 232, 0.7))",
|
|
"theme-warning": "linear-gradient(118deg, #ff9f43, rgba(255, 159, 67, 0.7))",
|
|
"theme-dark": "linear-gradient(118deg, #1e1e1e, rgba(30, 30, 30, 0.7))"
|
|
}
|
|
// main menu active box shadow object
|
|
var themeBoxShadow = {
|
|
"theme-primary": "0 0 10px 1px rgba(115, 103, 240, 0.7)",
|
|
"theme-success": "0 0 10px 1px rgba(40, 199, 111 , 0.7)",
|
|
"theme-danger": "0 0 10px 1px rgba(234, 84, 85, 0.7)",
|
|
"theme-info": "0 0 10px 1px rgba(0, 207, 232, 0.7)",
|
|
"theme-warning": "0 0 10px 1px rgba(255, 159, 67, 0.7)",
|
|
"theme-dark": "0 0 10px 1px rgba(30, 30, 30, 0.7)"
|
|
}
|
|
// colors for navbar header text of main menu
|
|
var currentColor = {
|
|
"theme-default": "#fff",
|
|
"theme-primary": "#7367f0",
|
|
"theme-success": "#28c76f",
|
|
"theme-danger": "#ea5455",
|
|
"theme-info": "#00cfe8",
|
|
"theme-warning": "#ff9f43",
|
|
"theme-dark": "#adb5bd"
|
|
}
|
|
// Brand Logo Poisitons
|
|
var LogoPosition = {
|
|
"theme-primary": "-65px -54px",
|
|
"theme-success": "-120px -10px",
|
|
"theme-danger": "-10px -10px",
|
|
"theme-info": "-10px -54px",
|
|
"theme-warning": "-120px -54px",
|
|
"theme-dark": "-65px -10px"
|
|
}
|
|
|
|
var body = $("body"),
|
|
appContent = $(".app-content"),
|
|
mainMenu = $(".main-menu"),
|
|
mainMenuContent = $(".menu-content"),
|
|
menuCollapsed = $(".menu-collapsed"),
|
|
menuExpanded = $(".menu-expanded"),
|
|
footer = $(".footer"),
|
|
navbar = $(".header-navbar"),
|
|
navBarShadow = $(".header-navbar-shadow"),
|
|
toggleIcon = $(".toggle-icon"),
|
|
collapseSidebar = $("#collapse-sidebar-switch"),
|
|
customizer = $(".customizer"),
|
|
brandLogo = $(".brand-logo");
|
|
|
|
// Customizer toggle & close button click events [Remove customizer code from production]
|
|
$('.customizer-toggle').on('click', function (e) {
|
|
e.preventDefault();
|
|
$(customizer).toggleClass('open');
|
|
});
|
|
$('.customizer-close').on('click', function () {
|
|
$(customizer).removeClass('open');
|
|
});
|
|
|
|
// perfect scrollbar for customizer
|
|
if ($('.customizer-content').length > 0) {
|
|
var customizer_content = new PerfectScrollbar('.customizer-content');
|
|
}
|
|
|
|
/***** Theme Colors Options *****/
|
|
$(document).on("click", "#customizer-theme-colors .color-box", function () {
|
|
var $this = $(this);
|
|
$this.siblings().removeClass('selected');
|
|
$this.addClass("selected");
|
|
var selectedColor = $(this).data("color"),
|
|
changeColor = themeColor[selectedColor],
|
|
selectedShadow = themeBoxShadow[selectedColor],
|
|
selectedTextColor = currentColor[selectedColor],
|
|
selectedLogo = LogoPosition[selectedColor];
|
|
|
|
// main-menu
|
|
if (mainMenuContent.find("li.active").length) {
|
|
mainMenuContent.find("li.active").css(
|
|
{
|
|
"background": changeColor,
|
|
"box-shadow": selectedShadow
|
|
}
|
|
);
|
|
|
|
}
|
|
else {
|
|
mainMenu.find(".nav-item.active a").css(
|
|
{
|
|
"background": changeColor,
|
|
"box-shadow": selectedShadow
|
|
}
|
|
);
|
|
}
|
|
// Text with logo
|
|
$(".brand-text").css("color", selectedTextColor);
|
|
// toggle icon
|
|
toggleIcon.removeClass("primary").css("color", selectedTextColor);
|
|
// Changes logo color
|
|
brandLogo.css("background-position", selectedLogo);
|
|
});
|
|
|
|
/***** Theme Layout Options *****/
|
|
$(".layout-name").on("click", function () {
|
|
var $this = $(this);
|
|
var currentLayout = $this.data("layout");
|
|
body.removeClass("dark-layout semi-dark-layout").addClass(currentLayout);
|
|
if (currentLayout === "") {
|
|
mainMenu.removeClass("menu-dark").addClass("menu-light");
|
|
navbar.removeClass("navbar-dark").addClass("navbar-light");
|
|
}
|
|
})
|
|
|
|
// checks right radio if layout type matches
|
|
var layout = body.data("layout");
|
|
$(".layout-name[data-layout='" + layout + "']").prop('checked', true);
|
|
|
|
/***** Collapse menu switch *****/
|
|
collapseSidebar.on("click", function () {
|
|
if ($(body).hasClass("menu-expanded")) {
|
|
body.removeClass("menu-expanded").addClass("menu-collapsed");
|
|
mainMenu.find(".sidebar-group-active").removeClass("open").addClass("menu-collapsed-open");
|
|
toggleIcon.removeClass("feather icon-disc").addClass("feather icon-circle");
|
|
|
|
}
|
|
else {
|
|
body.removeClass("menu-collapsed").addClass("menu-expanded");
|
|
mainMenu.find(".sidebar-group-active").addClass("open");
|
|
toggleIcon.removeClass("feather icon-circle").addClass("feather icon-disc");
|
|
}
|
|
})
|
|
// connects toggle icon with collapse sidebar switch
|
|
toggleIcon.on("click", function () {
|
|
collapseSidebar.prop("checked", !collapseSidebar.prop("checked"));
|
|
})
|
|
|
|
// checks if main menu is collapsed by default
|
|
if (body.hasClass("menu-collapsed")) {
|
|
collapseSidebar.prop("checked", true);
|
|
}
|
|
else {
|
|
collapseSidebar.prop("checked", false);
|
|
}
|
|
|
|
/***** Navbar Color Options *****/
|
|
$("#customizer-navbar-colors .color-box").on("click", function () {
|
|
var $this = $(this);
|
|
$this.siblings().removeClass('selected');
|
|
$this.addClass("selected");
|
|
var navbarColor = $this.data("navbar-color");
|
|
// changes navbar colors
|
|
if (navbarColor) {
|
|
appContent
|
|
.find(navbar)
|
|
.removeClass("bg-primary bg-success bg-danger bg-info bg-warning bg-dark")
|
|
.addClass(navbarColor + " navbar-dark");
|
|
}
|
|
else {
|
|
appContent
|
|
.find(navbar)
|
|
.removeClass("bg-primary bg-success bg-danger bg-info bg-warning bg-dark navbar-dark");
|
|
}
|
|
if (body.hasClass("dark-layout")) {
|
|
navbar.addClass("navbar-dark")
|
|
}
|
|
})
|
|
|
|
/***** Navbar Type *****/
|
|
// Hides Navbar
|
|
$("#navbar-hidden").on("click", function () {
|
|
navbar.addClass("d-none");
|
|
navBarShadow.addClass("d-none");
|
|
body.removeClass("navbar-static navbar-floating navbar-sticky").addClass("navbar-hidden");
|
|
});
|
|
// changes to Static navbar
|
|
$("#navbar-static").on("click", function () {
|
|
navBarShadow.addClass("d-none");
|
|
navbar
|
|
.removeClass("d-none floating-nav fixed-top")
|
|
.addClass("navbar-static-top");
|
|
body.removeClass("navbar-hidden navbar-floating navbar-sticky").addClass("navbar-static");
|
|
});
|
|
// change to floating navbar
|
|
$("#navbar-floating").on("click", function () {
|
|
navBarShadow.removeClass("d-none");
|
|
navbar
|
|
.removeClass("d-none fixed-top navbar-static-top fixed-top")
|
|
.addClass("floating-nav");
|
|
body.removeClass("navbar-static navbar-hidden navbar-sticky").addClass("navbar-floating");
|
|
});
|
|
// changes to Static navbar
|
|
$("#navbar-sticky").on("click", function () {
|
|
navBarShadow.addClass("d-none");
|
|
navbar
|
|
.removeClass("d-none floating-nav navbar-static-top")
|
|
.addClass("fixed-top");
|
|
body.removeClass("navbar-static navbar-floating navbar-hidden").addClass("navbar-sticky");
|
|
});
|
|
|
|
/***** Footer Type *****/
|
|
// Hides footer
|
|
$("#footer-hidden").on("click", function () {
|
|
footer.addClass("d-none");
|
|
body.removeClass("footer-static fixed-footer").addClass("footer-hidden");
|
|
});
|
|
// changes to Static footer
|
|
$("#footer-static").on("click", function () {
|
|
body.removeClass("fixed-footer");
|
|
footer.removeClass("d-none").addClass("footer-static");
|
|
body.removeClass("footer-hidden fixed-footer").addClass("footer-static");
|
|
});
|
|
// changes to Sticky footer
|
|
$("#footer-sticky").on("click", function () {
|
|
body.removeClass("footer-static fixed-hidden").addClass("fixed-footer");
|
|
footer.removeClass("d-none footer-static");
|
|
});
|
|
|
|
/***** Hide Scroll To Top *****/
|
|
$("#hide-scroll-top-switch").on("click", function () {
|
|
var scrollTopBtn = $(".scroll-top")
|
|
if ($(this).prop("checked")) {
|
|
scrollTopBtn.addClass("d-none");
|
|
}
|
|
else {
|
|
scrollTopBtn.removeClass("d-none");
|
|
}
|
|
});
|
|
})(window, document, jQuery);
|