123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- function displayMeta(data) {
- Object.keys(data).forEach(function (v) {
- el = $("#" + v);
- if (el != null) {
- if (el.nodeName === "DIV"){
- var toouthigh=true;
- var tooutlow=true;
- var toin=true;
- el.innerHTML = "BLANK";
- if (data[v]==-2){
- tooutlow=false;
- el.innerHTML = "OUT LOW";
- }
- if (data[v]==-1){
- toouthigh=false;
- el.innerHTML = "OUT HIGH";
- }
- if (data[v]==0){
- el.innerHTML = "not configured";
- }
- if (data[v]>0){
- toin=false;
- el.innerHTML = "IN "+data[v];
- }
- if(toin){
- el.innerHTML+=" | <input type='button' value='TO INPUT' onclick='setMeta(\""+v.substr(-2)+"\",\"1\")'/>";
- }
- if(tooutlow){
- el.innerHTML+=" | <input type='button' value='TO OUTPUT LOW' onclick='setMeta(\""+v.substr(-2)+"\",\"-2\")'/>";
- }
- if(toouthigh){
- el.innerHTML+=" | <input type='button' value='TO OUTPUT HIGH' onclick='setMeta(\""+v.substr(-2)+"\",\"-1\")'/>";
- }
- }}});
- }
- function toggle(el){
- if(!$('#'+el).hasAttribute("hidden")){
- $("#"+el).setAttribute("hidden", "");}
- else{$("#meta-form").removeAttribute("hidden");}
- }
-
- function fetchMeta() {
- console.log("fetchMeta !");
- ajaxJson("GET", "/meta/gpio", displayMeta, function () {
- window.setTimeout(fetchMeta, 1000);
- });
- }
- function changeMetaStatus(e) {
- e.preventDefault();
- var v = document.querySelector('input[name="meta-status-topic"]').value;
- ajaxSpin("POST", "/meta?meta-status-topic=" + v, function () {
- showNotification("meta status settings updated");
- }, function (s, st) {
- showWarning("Error: " + st);
- window.setTimeout(fetchMeta, 100);
- });
- }
- function setMeta(name, v) {
- ajaxSpin("POST", "/meta/gpio?num=" + name+"&v=" + v, function () {
- var n = name.replace("-enable", "");
- showNotification(n + " is now " + (v ? "enabled" : "disabled"));
- window.setTimeout(fetchMeta, 100);
- }, function () {
- showWarning("Enable/disable failed");
- window.setTimeout(fetchMeta, 100);
- });
- }
|