dikplhd/public/assets/js/config.js

58 lines
2.1 KiB
JavaScript

(function () {
var savedConfig = sessionStorage.getItem("__ATTEX_CONFIG__");
// var savedConfig = localStorage.getItem("__ATTEX_CONFIG__");
var defaultConfig = {
direction: "ltr",
theme: "light",
layout: {
width: "default", // Boxed width Only available at large resolutions > 1600px (xl)
position: "fixed",
},
topbar: {
color: "light",
},
menu: {
color: "dark",
},
sidenav: {
view: "default"
},
};
const html = document.getElementsByTagName("html")[0];
config = Object.assign(JSON.parse(JSON.stringify(defaultConfig)), {});
config.direction = html.getAttribute("dir") || defaultConfig.direction;
config.theme = html.getAttribute("data-mode") || defaultConfig.theme;
config.layout.width = html.getAttribute("data-layout-width") || defaultConfig.layout.width;
config.layout.position = html.getAttribute("data-layout-position") || defaultConfig.layout.position;
config.topbar.color = html.getAttribute("data-topbar-color") || defaultConfig.topbar.color;
config.menu.color = html.getAttribute("data-menu-color") || defaultConfig.menu.color;
config.sidenav.view = html.getAttribute("data-sidenav-view") || defaultConfig.sidenav.view;
window.defaultConfig = JSON.parse(JSON.stringify(config));
if (savedConfig !== null) {
config = JSON.parse(savedConfig);
}
window.config = config;
if (config) {
html.setAttribute("dir", config.direction);
html.setAttribute("data-mode", config.theme);
html.setAttribute("data-layout-width", config.layout.width);
html.setAttribute("data-layout-position", config.layout.position);
html.setAttribute("data-topbar-color", config.topbar.color);
html.setAttribute("data-menu-color", config.menu.color);
if (window.innerWidth <= 1140) {
html.setAttribute("data-sidenav-view", "mobile");
} else {
html.setAttribute("data-sidenav-view", config.sidenav.view);
}
}
})();