html_main_minimal.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* clang-format off */
  2. static const char html_main_script[] PROGMEM = R"=====(
  3. <script>
  4. function g(i) { return document.getElementById(i) };
  5. var xhttp, updateTime, reqTime, reqFin;
  6. function sendBtn(btn, conf) {
  7. var frmn='BtnFrm'+btn;
  8. var form = g(frmn);
  9. if(conf !== undefined) {
  10. if(confirm(conf)) return transmit(form);
  11. else return false;
  12. }
  13. else return transmit(form);
  14. }
  15. function transmit(f) {
  16. if (!xhttp) {
  17. reqTime = 0;
  18. reqFin = false;
  19. xhttp = new XMLHttpRequest();
  20. xhttp.timeout = 1000;
  21. xhttp.overrideMimeType("application/json");
  22. xhttp.open('POST', 'api');
  23. xhttp.send(f ? (new FormData(f)) : '');
  24. xhttp.onreadystatechange = function () {
  25. if (xhttp.readyState === XMLHttpRequest.DONE && xhttp.status === 200) {
  26. var data = JSON.parse(xhttp.responseText);
  27. var APname;
  28. if(data.WiFiNum == 1) APname='Default-AP';
  29. else if(data.WiFiNum == 1) APname='Fallback-AP';
  30. if(data.ssid !== undefined && data.WiFiNum !== undefined && data.WiFiNum > 0) g('ssid').innerHTML = data.ssid + ' (' + APname + ')';
  31. else if(data.ssid !== undefined) g('ssid').innerHTML = data.ssid;
  32. if(data.mqttstate !== undefined) {
  33. if(data.mqttstate == "CONNECTED") { g('mqttstate').innerHTML = data.mqttstate + ' to <i>' + data.mqtthost + '</i>'; }
  34. else g('mqttstate').innerHTML = data.mqttstate;
  35. }
  36. if(data.uptime !== undefined) g('uptime').innerHTML = data.uptime;
  37. if(data.date !== undefined) g('date').innerHTML = data.date;
  38. else g('date').innerHTML = '-';
  39. if(data.time !== undefined) g('time').innerHTML = data.time;
  40. else g('time').innerHTML = '-';
  41. if(data.mqttreconn !== undefined) g('mqttreconn').innerHTML = data.mqttreconn;
  42. xhttp = null;
  43. updateTime = 0;
  44. reqFin = true;
  45. }
  46. else {
  47. if(!reqFin && reqTime > 10) {
  48. xhttp = null;
  49. reqFin = true;
  50. }
  51. }
  52. }
  53. }
  54. return false;
  55. }
  56. function init() {
  57. transmit();
  58. }
  59. setInterval(transmit, 2500);
  60. </script>
  61. )====="; // html_main_script
  62. static const char html_main_body_app[] PROGMEM = R"=====(
  63. )====="; // html_main_body_app