Browse Source

add JS for formular Powermeter-DropDown

show all DIVs and remove only what is not necessary
pull/1615/head
DanielR92 5 months ago
committed by GitHub
parent
commit
98f66aaa47
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 52
      src/web/html/setup.html

52
src/web/html/setup.html

@ -1288,6 +1288,7 @@
}
/*IF_PLUGIN_ZEROEXPORT*/
function apiCbBattOnOff(obj) {
// var e = document.getElementById("battSwitch");
// e.value = "88";
@ -1382,13 +1383,16 @@
]),
// Powermeter
ml("div", {id: "div{#ZE_GROUP_TAB_POWERMETER}", class: "tab-content hide"}, [
divRow("{#ZE_GROUP_TAB_POWERMETER_REFRESH}",
ml("input", {name: "pm_refresh", class: "text", type: "number", min: "1", max: "30", step: "1", value: obj.pm_refresh}, null),
),
divRow("{#ZE_GROUP_TAB_POWERMETER_TYPE}",
ml("select", {name: "pm_type", class: "text", id: "pm_type"}, null),
),
divRow("{#ZE_GROUP_TAB_POWERMETER_REFRESH}",
ml("input", {name: "pm_refresh", class: "text", type: "number", min: "1", max: "30", step: "1", value: obj.pm_refresh}, null),
),
// TODO: URL -> IP
divRow("{#ZE_GROUP_TAB_POWERMETER_TARGET}",
ml("select", {name: "pm_target", class: "text", id: "pm_target"}, null),
),
divRow("{#ZE_GROUP_TAB_POWERMETER_IP}", [
ml("input", {name: "pm_url", class: "text", type: "text", value: obj.pm_url, maxlength: "100"}, null),
]),
@ -1401,8 +1405,8 @@
divRow("{#ZE_GROUP_TAB_POWERMETER_PASS}",
ml("input", {name: "pm_pass", class: "text", type: "password", value: "****"}, null),
),
divRow("{#ZE_GROUP_TAB_POWERMETER_TARGET}",
ml("select", {name: "pm_target", class: "text", id: "pm_target"}, null),
divRow("{#ZE_GROUP_TAB_POWERMETER_TOPIC}",
ml("input", {id: 3, name: "pm_topic", class: "text", type: "text", value: ""}, null),
),
// TODO: Uebersetzen mit lang.json und auf die entsprechende Dokuseite verlinken
divRow("Hinweis: ",
@ -1482,7 +1486,6 @@
// Inhalt fuer pm_type aus config laden und in eine Funktion ausgliedern
var e = document.getElementById("pm_type");
selDelAllOpt(e);
// TODO: uebersetzen?
e.appendChild(opt("0", "---"));
e.appendChild(opt("1", "Shelly"));
//e.appendChild(opt("2", "Tasmota"));
@ -1495,6 +1498,7 @@
e.selectedIndex = i;
}
}
// - pm_target
var e = document.getElementById("pm_target");
selDelAllOpt(e);
@ -1508,6 +1512,14 @@
}
}
// add addEventListener
const selectElement = document.querySelector("#pm_type");
//selectElement.addEventListener("change", (event) => { pm_type_dropdown() });
selectElement.addEventListener("change", (event) => { pm_type_dropdown() });
// run event one time
pm_type_dropdown();
// Tab_Inverters
// - Enabled
for (var inv = 0; inv < maxInv; inv++) {
@ -1559,6 +1571,33 @@
}
}
function pm_type_dropdown()
{
var e = document.getElementsByName("pm_type")[0];
var value = e.options[e.selectedIndex].text;
var divsToHide = document.getElementById("divPowermeter");
// Formular for Powermeter-DropDown
// show all DIVs and remove only what is not necessary
for(var i = 0; i < divsToHide.childElementCount; i++) divsToHide.childNodes[i].style.display = '';
if(value == "---") for(var i = 1; i < divsToHide.childElementCount; i++) divsToHide.childNodes[i].style.display = 'none';
else if(value == "Shelly") {
divsToHide.childNodes[7].style.display = 'none';
}
else if(value == "Mqtt") {
divsToHide.childNodes[3].style.display = 'none';
divsToHide.childNodes[4].style.display = 'none';
divsToHide.childNodes[5].style.display = 'none';
divsToHide.childNodes[6].style.display = 'none';
}
else if(value == "Tibber") {
divsToHide.childNodes[4].style.display = 'none';
divsToHide.childNodes[7].style.display = 'none';
}
}
function save() {
var o = new Object();
o.cmd = "ze_save_group"
@ -1567,6 +1606,7 @@
o.id = obj.id
o.enabled = document.getElementsByName("enabled")[0].checked;
o.name = document.getElementsByName("name")[0].value;
// Powermeter
o.pm_refresh = document.getElementsByName("pm_refresh")[0].value;
var e = document.getElementsByName("pm_type")[0];

Loading…
Cancel
Save