Tasmota/tasmota/html_uncompressed/HTTP_SCRIPT_ROOT_WEB_DISPLAY.h

53 lines
1.6 KiB
C

const char HTTP_SCRIPT_ROOT[] PROGMEM =
"var rfsh=1,ft;"
"function la(p){"
"a=p||'';"
"clearTimeout(ft);clearTimeout(lt);"
"if(x!=null){x.abort();}" // Abort if no response within 2 seconds (happens on restart 1)
"x=new XMLHttpRequest();"
"x.onreadystatechange=()=>{"
"if(x.readyState==4&&x.status==200){"
"var s=x.responseText.replace(/{t}/g,\"<table style='width:100%%'>\")"
".replace(/{s}/g,\"<tr><th>\")"
// ".replace(/{m}/g,\"</th><td>\")"
".replace(/{m}/g,\"</th><td style='width:20px;white-space:nowrap'>\")" // I want a right justified column with left justified text
".replace(/{e}/g,\"</td></tr>\");"
"eb('l1').innerHTML=s;"
"clearTimeout(ft);clearTimeout(lt);"
"if(rfsh){"
"lt=setTimeout(la,%d);" // Settings.web_refresh
"}"
"}"
"};"
"if(rfsh){"
"x.open('GET','.?m=1'+a,true);" // ?m related to Webserver->hasArg("m")
"x.send();"
"ft=setTimeout(la,2e4);" // 20s failure timeout
"}"
"}"
"function seva(par,ivar){"
"la('&sv='+ivar+'_'+par);"
"}"
"function siva(par,ivar){"
"rfsh=1;"
"la('&sv='+ivar+'_'+par);"
"rfsh=0;"
"}"
"function sivat(par,ivar){"
"rfsh=1;"
"par = par.slice(0, 2) + par.slice(3);"
"la('&sv='+ivar+'_'+par);"
"rfsh=0;"
"}"
"function pr(f){"
"if(f){"
"clearTimeout(lt);clearTimeout(ft);"
"lt=setTimeout(la,%d);"
"rfsh=1;"
"}else{"
"clearTimeout(lt);clearTimeout(ft);"
"rfsh=0;"
"}"
"}"
;