html_confDisplay.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /* clang-format off */
  2. //<script>
  3. // function g(i) { return document.getElementById(i) };
  4. // function sp(i){g(i).type=(g(i).type==='text'?'password':'text');}
  5. // var xhttp, reqTime, reqFin;
  6. // function selectElement(el, val) {
  7. // el.value = val;
  8. // }
  9. // function setCbx(el, da) {
  10. // if(da == '1') {
  11. // el.checked = true;
  12. // el.style.visibility = 'visible';
  13. // }
  14. // else {
  15. // el.checked = false;
  16. // el.style.visibility = 'visible';
  17. // }
  18. // }
  19. // function updCbxVal(el) {
  20. // if (el.checked) el.value = '1';
  21. // else {
  22. // el.checked = true;
  23. // el.value = '0';
  24. // el.style.visibility = 'hidden';
  25. // }
  26. // }
  27. static const char html_confSens_script[] PROGMEM = R"=====(
  28. function transmit(f) {
  29. if (!xhttp) {
  30. reqTime = 0;
  31. reqFin = false;
  32. //updCbxVal(g('autoSaveTemp'));
  33. //updCbxVal(g('autoSaveMode'));
  34. //updCbxVal(g('saveToMqttRet'));
  35. //updCbxVal(g('PIRenDisp'));
  36. //updCbxVal(g('PIRenDispPs0'));
  37. //updCbxVal(g('togTHdisp'));
  38. xhttp = new XMLHttpRequest();
  39. xhttp.timeout = 1000;
  40. xhttp.overrideMimeType('application/json');
  41. xhttp.open('POST', 'confDataSens');
  42. xhttp.send(f ? (new FormData(f)) : '');
  43. xhttp.onreadystatechange = function () {
  44. if (xhttp.readyState === XMLHttpRequest.DONE && xhttp.status === 200) {
  45. var data = JSON.parse(xhttp.responseText);
  46. selectElement(g('assignSens_0'), data.assignSens_0);
  47. selectElement(g('assignSens_1'), data.assignSens_1);
  48. selectElement(g('assignSens_2'), data.assignSens_2);
  49. //g('tempMin').value = data.tempMin;
  50. //g('tempMax').value = data.tempMax;
  51. //g('measInt').value = data.measInt;
  52. //g('dispInt').value = data.dispInt;
  53. //g('dispTout').value = data.dispTout;
  54. //setCbx(g('autoSaveTemp'), data.autoSaveTemp);
  55. //setCbx(g('autoSaveMode'), data.autoSaveMode);
  56. //setCbx(g('saveToMqttRet'), data.saveToMqttRet);
  57. //setCbx(g('PIRenDisp'), data.PIRenDisp);
  58. //setCbx(g('PIRenDispPs0'), data.PIRenDispPs0);
  59. //setCbx(g('togTHdisp'), data.togTHdisp);
  60. xhttp = null;
  61. reqFin = true;
  62. }
  63. else {
  64. if(!reqFin && reqTime > 10) {
  65. xhttp = null;
  66. reqFin = true;
  67. }
  68. }
  69. }
  70. }
  71. return false;
  72. }
  73. //transmit();
  74. function saveConf() {
  75. //updCbxVal(g('autoSaveTemp'));
  76. //updCbxVal(g('autoSaveMode'));
  77. //updCbxVal(g('saveToMqttRet'));
  78. //updCbxVal(g('PIRenDisp'));
  79. //updCbxVal(g('PIRenDispPs0'));
  80. //updCbxVal(g('togTHdisp'));
  81. g('frmConf').submit();
  82. }
  83. function init() {
  84. transmit();
  85. }
  86. )====="; // html_confSens_script
  87. // setInterval(function () { ++reqTime; }, 1000);
  88. //</script>
  89. static const char html_confDisplay_body[] PROGMEM = R"=====(
  90. <b>Configuration - Display</b>
  91. <div class='config'>
  92. <form id='frmConf' action='setConfDisplay' method='POST'>
  93. <br>
  94. <fieldset>
  95. <legend>Interval / Timeout</legend>
  96. <p><b>Display Update Interval [s]</b><br><input type='number' name='dispInt' id='dispInt'></p>
  97. <p><b>Display Timeout [s]</b><br><input type='number' name='dispTout' id='dispTout'></p>
  98. </fieldset>
  99. <div></div><br>
  100. </form>
  101. <div></div>
  102. <table style='width:100%'>
  103. <td style='width:50%'><button onclick='location="conf";' class='bgrey'>Cancel</button></td>
  104. <td style='width:50%'><button onclick='return saveConf()' class='bred'>Save</button></td>
  105. </tr></table>
  106. </div>
  107. )====="; // html_confDisplay_body