289 lines
8.4 KiB
JavaScript
Executable File
289 lines
8.4 KiB
JavaScript
Executable File
$.fn.AdminSettings = function (settings) {
|
|
var myid = this.attr("id");
|
|
// default settings
|
|
var defaults = {
|
|
Layout: "vertical",
|
|
SidebarType: "full",
|
|
BoxedLayout: true, // it can be true / false
|
|
Direction: "ltr",
|
|
Theme: "light",
|
|
ColorTheme: "Blue_Theme",
|
|
cardBorder: false,
|
|
};
|
|
var settings = $.extend({}, defaults, settings);
|
|
|
|
// Attribute functions
|
|
var AdminSettings = {
|
|
// Settings INIT
|
|
AdminSettingsInit: function () {
|
|
AdminSettings.ManageThemeLayout();
|
|
AdminSettings.ManageSidebarType();
|
|
AdminSettings.ManageBoxedLayout();
|
|
AdminSettings.ManageDirectionLayout();
|
|
AdminSettings.ManageDarkThemeLayout();
|
|
AdminSettings.ManageColorThemeLayout();
|
|
AdminSettings.ManageCardLayout();
|
|
},
|
|
|
|
// Vertical / Horizontal Layout
|
|
ManageThemeLayout: function () {
|
|
switch (settings.Layout) {
|
|
case "horizontal":
|
|
$("#horizontal-layout").prop("checked", !0);
|
|
$("html").attr("data-layout", "horizontal");
|
|
|
|
break;
|
|
case "vertical":
|
|
$("#vertical-layout").prop("checked", !0);
|
|
$("html").attr("data-layout", "vertical");
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
|
|
//****************************
|
|
// Full / Minisidebar type
|
|
//****************************
|
|
ManageSidebarType: function () {
|
|
switch (settings.SidebarType) {
|
|
//****************************
|
|
// If the sidebar type has full
|
|
//****************************
|
|
case "full":
|
|
$("#full-sidebar").prop("checked", !0);
|
|
$("body").attr("data-sidebartype", "full");
|
|
//****************************
|
|
/* This is for the mini-sidebar if width is less then 1170*/
|
|
//****************************
|
|
var setsidebartype = function () {
|
|
var width =
|
|
window.innerWidth > 0 ? window.innerWidth : this.screen.width;
|
|
if (width < 1300) {
|
|
$("body").attr("data-sidebartype", "mini-sidebar");
|
|
} else {
|
|
$("body").attr("data-sidebartype", "full");
|
|
}
|
|
};
|
|
$(window).on("ready", setsidebartype);
|
|
$(window).on("resize", setsidebartype);
|
|
break;
|
|
|
|
//****************************
|
|
// If the sidebar type has mini-sidebar
|
|
//****************************
|
|
case "mini-sidebar":
|
|
$("#mini-sidebar").prop("checked", !0);
|
|
$("body").attr("data-sidebartype", "mini-sidebar");
|
|
|
|
break;
|
|
|
|
default:
|
|
}
|
|
},
|
|
//****************************
|
|
// Layout Boxed or Full
|
|
//****************************
|
|
ManageBoxedLayout: function () {
|
|
$("#boxed-layout").prop("checked", !0);
|
|
switch (settings.BoxedLayout) {
|
|
case true:
|
|
$("html").attr("data-boxed-layout", "boxed");
|
|
$("#boxed-layout").prop("checked", !0);
|
|
break;
|
|
case false:
|
|
$("html").attr("data-boxed-layout", "full");
|
|
$("#full-layout").prop("checked", !0);
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
//****************************
|
|
// Direction Type
|
|
//****************************
|
|
ManageDirectionLayout: function () {
|
|
//$("#ltr-layout").prop("checked", !0);
|
|
switch (settings.Direction) {
|
|
case "ltr":
|
|
$("#ltr-layout").prop("checked", !0);
|
|
$("html").attr("dir", "ltr");
|
|
$(".offcanvas-start")
|
|
.toggleClass("offcanvas-end")
|
|
.removeClass("offcanvas-start");
|
|
$("#ltr-layout").prop("checked", !0);
|
|
break;
|
|
case "rtl":
|
|
$("html").attr("dir", "rtl");
|
|
$(".offcanvas-end")
|
|
.toggleClass("offcanvas-start")
|
|
.removeClass("offcanvas-end");
|
|
$("#rtl-layout").prop("checked", !0);
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
|
|
//****************************
|
|
// Carc Type
|
|
//****************************
|
|
ManageCardLayout: function () {
|
|
$("#card-without-border").prop("checked", !0);
|
|
switch (settings.cardBorder) {
|
|
case true:
|
|
$("html").attr("data-card", "border");
|
|
$("#card-with-border").prop("checked", !0);
|
|
break;
|
|
case false:
|
|
$("html").attr("data-card", "shadow");
|
|
$("#card-without-border").prop("checked", !0);
|
|
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
|
|
//****************************
|
|
// Theme Dark or light
|
|
//****************************
|
|
ManageDarkThemeLayout: function () {
|
|
switch (settings.Theme) {
|
|
case "light":
|
|
$("#light-layout").prop("checked", !0);
|
|
$("html").attr("data-bs-theme", "light");
|
|
$("#light-layout").prop("checked", !0);
|
|
$(".light-logo").hide();
|
|
|
|
break;
|
|
case "dark":
|
|
$("html").attr("data-bs-theme", "dark");
|
|
$("#dark-layout").prop("checked", !0);
|
|
$(".dark-logo").hide();
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
|
|
ManageColorThemeLayout: function () {
|
|
switch (settings.ColorTheme) {
|
|
case settings.ColorTheme:
|
|
$("html").attr("data-color-theme", settings.ColorTheme);
|
|
$("#" + settings.ColorTheme).prop("checked", !0);
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
};
|
|
AdminSettings.AdminSettingsInit();
|
|
};
|
|
|
|
$(function () {
|
|
//****************************
|
|
// Theme Direction RTL LTR click
|
|
//****************************
|
|
function handleDirection() {
|
|
$("#rtl-layout").on("click", function () {
|
|
$("html").attr("dir", "rtl");
|
|
$(".offcanvas-end")
|
|
.toggleClass("offcanvas-start")
|
|
.removeClass("offcanvas-end");
|
|
$(this).is(":checked");
|
|
});
|
|
$("#ltr-layout").on("click", function () {
|
|
$("html").attr("dir", "ltr");
|
|
$(".offcanvas-start")
|
|
.toggleClass("offcanvas-end")
|
|
.removeClass("offcanvas-start");
|
|
});
|
|
}
|
|
handleDirection();
|
|
|
|
//****************************
|
|
// Theme Layout Box or Full
|
|
//****************************
|
|
function handleboxedlayout() {
|
|
$("#boxed-layout").on("click", function () {
|
|
$(".container-fluid").removeClass("mw-100");
|
|
$(this).is(":checked");
|
|
$("html").attr("data-boxed-layout", "boxed");
|
|
});
|
|
$("#full-layout").on("click", function () {
|
|
$(".container-fluid").addClass("mw-100");
|
|
$("html").attr("data-boxed-layout", "full");
|
|
$(this).is(":checked");
|
|
});
|
|
}
|
|
handleboxedlayout();
|
|
|
|
//****************************
|
|
// Theme Layout Vertical or horizontal
|
|
//****************************
|
|
function handleLayout() {
|
|
$("#vertical-layout").on("click", function () {
|
|
$("html").attr("data-layout", "vertical");
|
|
$(this).is(":checked");
|
|
});
|
|
$("#horizontal-layout").on("click", function () {
|
|
$("html").attr("data-layout", "horizontal");
|
|
$(this).is(":checked");
|
|
});
|
|
}
|
|
handleLayout();
|
|
|
|
//****************************
|
|
// Theme mode dark or light
|
|
//****************************
|
|
function handleTheme() {
|
|
$("#dark-layout").on("click", function () {
|
|
$("html").attr("data-bs-theme", "dark");
|
|
$(".dark-logo").hide();
|
|
$(".light-logo").show();
|
|
});
|
|
$("#light-layout").on("click", function () {
|
|
$("html").attr("data-bs-theme", "light");
|
|
$(".light-logo").hide();
|
|
$(".dark-logo").show();
|
|
});
|
|
}
|
|
handleTheme();
|
|
|
|
//****************************
|
|
// Theme card with border or shadow
|
|
//****************************
|
|
function handlecardlayout() {
|
|
$("#card-with-border").on("click", function () {
|
|
$("html").attr("data-card", "border");
|
|
});
|
|
$("#card-without-border").on("click", function () {
|
|
$("html").attr("data-card", "shadow");
|
|
});
|
|
}
|
|
handlecardlayout();
|
|
|
|
//****************************
|
|
// Theme sidebar toggle
|
|
//****************************
|
|
|
|
function handlesidebartoggle() {
|
|
$("#full-sidebar").on("click", function () {
|
|
$("body").attr("data-sidebartype", "full");
|
|
});
|
|
$("#mini-sidebar").on("click", function () {
|
|
$("body").attr("data-sidebartype", "mini-sidebar");
|
|
});
|
|
}
|
|
handlesidebartoggle();
|
|
|
|
function handlesidebar() {
|
|
$(".sidebartoggler").on("click", function () {
|
|
$(".sidebartoggler").prop("checked", !0);
|
|
$("#main-wrapper").toggleClass("show-sidebar");
|
|
var dataTheme = $("body").attr("data-sidebartype");
|
|
if (dataTheme == "full") {
|
|
$("body").attr("data-sidebartype", "mini-sidebar");
|
|
} else {
|
|
$("body").attr("data-sidebartype", "full");
|
|
}
|
|
});
|
|
}
|
|
handlesidebar();
|
|
});
|