/* Dore Theme Select & Initializer Script Table of Contents 01. Css Loading Util 02. Theme Selector And Initializer */ /* 01. Css Loading Util */ function loadStyle(href, callback) { for (var i = 0; i < document.styleSheets.length; i++) { if (document.styleSheets[i].href == href) { return; } } var head = document.getElementsByTagName("head")[0]; var link = document.createElement("link"); link.rel = "stylesheet"; link.type = "text/css"; link.href = href; if (callback) { link.onload = function () { callback(); }; } var mainCss = $(head).find('[href$="main.css"]'); if (mainCss.length !== 0) { mainCss[0].before(link); } else { head.appendChild(link); } } /* 02. Theme Selector, Layout Direction And Initializer */ (function ($) { if ($().dropzone) { Dropzone.autoDiscover = false; } var themeColorsDom = /*html*/`
`; $("body").append(themeColorsDom); /* Default Theme Color, Border Radius and Direction */ var theme = "dore.light.bluenavy.min.css"; var direction = "ltr"; var radius = "rounded"; if (typeof Storage !== "undefined") { if (localStorage.getItem("dore-theme-color")) { theme = localStorage.getItem("dore-theme-color"); } else { localStorage.setItem("dore-theme-color", theme); } if (localStorage.getItem("dore-direction")) { direction = localStorage.getItem("dore-direction"); } else { localStorage.setItem("dore-direction", direction); } if (localStorage.getItem("dore-radius")) { radius = localStorage.getItem("dore-radius"); } else { localStorage.setItem("dore-radius", radius); } } $(".theme-color[data-theme='" + theme + "']").addClass("active"); $(".direction-radio[data-direction='" + direction + "']").attr("checked", true); $(".radius-radio[data-radius='" + radius + "']").attr("checked", true); $("#switchDark").attr("checked", theme.indexOf("dark") > 0 ? true : false); loadStyle(gogo_css + theme, onStyleComplete); function onStyleComplete() { setTimeout(onStyleCompleteDelayed, 300); } function onStyleCompleteDelayed() { $("body").addClass(direction); $("html").attr("dir", direction); $("body").addClass(radius); $("body").dore(); } $("body").on("click", ".theme-color", function (event) { event.preventDefault(); var dataTheme = $(this).data("theme"); if (typeof Storage !== "undefined") { localStorage.setItem("dore-theme-color", dataTheme); window.location.reload(); } }); $("input[name='directionRadio']").on("change", function (event) { var direction = $(event.currentTarget).data("direction"); if (typeof Storage !== "undefined") { localStorage.setItem("dore-direction", direction); window.location.reload(); } }); $("input[name='radiusRadio']").on("change", function (event) { var radius = $(event.currentTarget).data("radius"); if (typeof Storage !== "undefined") { localStorage.setItem("dore-radius", radius); window.location.reload(); } }); $("#switchDark").on("change", function (event) { var mode = $(event.currentTarget)[0].checked ? "dark" : "light"; if (mode == "dark") { theme = theme.replace("light", "dark"); } else if (mode == "light") { theme = theme.replace("dark", "light"); } if (typeof Storage !== "undefined") { localStorage.setItem("dore-theme-color", theme); window.location.reload(); } }); $(".theme-button").on("click", function (event) { event.preventDefault(); $(this) .parents(".theme-colors") .toggleClass("shown"); }); $(document).on("click", function (event) { if ( !( $(event.target) .parents() .hasClass("theme-colors") || $(event.target) .parents() .hasClass("theme-button") || $(event.target).hasClass("theme-button") || $(event.target).hasClass("theme-colors") ) ) { if ($(".theme-colors").hasClass("shown")) { $(".theme-colors").removeClass("shown"); } } }); })(jQuery);