65 lines
1.3 KiB
JavaScript
65 lines
1.3 KiB
JavaScript
$( document ).ready(function() {
|
|
setInterval(getStatus, 10000);
|
|
getStatus();
|
|
getConfig();
|
|
$("#tabs button:first-child").click();
|
|
});
|
|
|
|
function getConfig() {
|
|
$.ajax({
|
|
url: "/api/config",
|
|
dataType: "json",
|
|
success: function(data) {
|
|
console.log(data);
|
|
unpackJson(data, "config");
|
|
}
|
|
});
|
|
}
|
|
|
|
function getStatus() {
|
|
$.ajax({
|
|
url: "/api/status",
|
|
dataType: "json",
|
|
success: function(data) {
|
|
console.log(data);
|
|
unpackJson(data, "status");
|
|
}
|
|
});
|
|
}
|
|
|
|
function switchTab(evt, name) {
|
|
$("#tabs button").removeClass("active");
|
|
$(evt.target).addClass("active");
|
|
$(".tab").hide();
|
|
$("#"+name).show();
|
|
}
|
|
|
|
function unpackJson(data, scope = false) {
|
|
scope = scope ? scope + "_" : "";
|
|
$.each(data, (key, value) => {
|
|
var id = scope + key;
|
|
if (isObject(value)) {
|
|
unpackJson(value, id);
|
|
} else {
|
|
var elmnt = $("#"+id);
|
|
if (elmnt.prop('type') == 'checkbox') {
|
|
elmnt.prop('checked', (value == "1") ? true : false);
|
|
} else {
|
|
elmnt.val(value);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function showPassword(input, button) {
|
|
if ($(button).prop('checked')) {
|
|
$(input).prop('type', "text");
|
|
} else {
|
|
$(input).prop('type', "password");
|
|
}
|
|
}
|
|
|
|
const isObject = (obj) => {
|
|
return Object.prototype.toString.call(obj) === '[object Object]';
|
|
};
|