(function () {
var html, button, frame;
var darkClassName = "night-theme";
var isDark = false;
window.addEventListener(
"DOMContentLoaded",
function () {
html = document.documentElement.classList;
button = document.querySelector(".button-change-theme");
if (button != undefined) {
setButtonClick();
}
initTheme();
},
false
);
function setButtonClick() {
button.addEventListener("click", function () {
isDark = !isDark;
changeTheme(button, isDark);
setTheme(isDark);
});
}
function initTheme() {
isDark = window.localStorage.getItem("theme") == "dark";
if (isDark == null) {
isDark = false;
}
if (button != undefined) {
changeTheme(button, isDark);
}
setTheme(isDark);
}
function changeTheme(button, isDark) {
var icon = button.querySelector(".select-theme");
icon.classList.remove("fa-sun-o");
icon.classList.remove("fa-moon-o");
icon.classList.add(!isDark ? "fa-sun-o" : "fa-moon-o");
}
function setTheme(isDark) {
switch (document.location.pathname.split("/")[2]) {
case "SensorsManager":
frame =
document.documentElement.getElementsByTagName("iframe")[0];
if (frame != undefined) {
frame =
frame.contentDocument.getElementsByTagName("html")[0];
}
break;
case "Szm":
if (document.location.pathname.split("/")[3] == "index") {
frame =
document.documentElement.getElementsByTagName(
"iframe"
)[0];
frame =
frame.contentDocument.getElementsByTagName("html")[0];
}
break;
case "SystemSettings":
if (
document.location.pathname.split("/")[3] == "errors-reader"
) {
frame =
document.documentElement.getElementsByTagName(
"iframe"
)[0];
if (frame != undefined) {
html =
frame.contentDocument.getElementsByTagName(
"html"
)[0];
html.style.color = "#FFF";
}
}
break;
case "Wim":
if (
document.querySelectorAll(".whitelist-input-space").length >
0
) {
Array.prototype.slice
.call(
document.querySelectorAll(".whitelist-input-space")
)
.forEach(function (el) {
if (isDark) {
el.src =
BASE_URL +
"/public/images/input-space-dark.png";
} else {
el.src =
BASE_URL + "/public/images/input-space.png";
}
});
}
break;
}
if (isDark) {
window.localStorage.setItem("theme", "dark");
html.add(darkClassName);
if (frame != null) {
frame.classList.add(darkClassName);
}
} else {
html.remove(darkClassName);
window.localStorage.removeItem("theme");
if (frame != null) {
frame.classList.remove(darkClassName);
}
}
}
})();