Add settings-privacy.lp

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2023-05-09 20:12:58 +02:00
parent a83411cb0b
commit 74baa97aaf
5 changed files with 146 additions and 3 deletions

View File

@@ -28,7 +28,9 @@ function setConfigValues(topic, key, value) {
if (!("description" in value)) {
Object.keys(value).forEach(function (subkey) {
var subvalue = value[subkey];
setConfigValues(topic, key + "." + subkey, subvalue);
// If the key is empty, we are at the top level
var newKey = key === "" ? subkey : key + "." + subkey;
setConfigValues(topic, newKey, subvalue);
});
return;
}
@@ -36,6 +38,7 @@ function setConfigValues(topic, key, value) {
// else: we have a setting we can set
var escapedKey = key.replace(/\./g, "\\.");
switch (value.type) {
case "enum (unsigned integer)": // fallthrough
case "enum (string)": {
// Remove all options from select
$("#" + escapedKey + " option").remove();
@@ -68,7 +71,13 @@ function setConfigValues(topic, key, value) {
default: {
// Set input field values (if available)
$("#" + escapedKey).val(value.value);
// Set text if this is a <span> or <code> element
if ($("#" + escapedKey).is("span") || $("#" + escapedKey).is("code")) {
$("#" + escapedKey).text(value.value);
} else {
// Set value if this is an <input> element
$("#" + escapedKey).val(value.value);
}
}
}
}