prevalue_set.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
  5. <title>Set PreValue</title>
  6. <meta charset="utf-8">
  7. <style>
  8. h1 {font-size: 2em;}
  9. h2 {font-size: 1.5em;}
  10. h3 {font-size: 1.2em;}
  11. p {font-size: 1em;}
  12. div {
  13. width: 200px;
  14. padding: 10px 5px;
  15. display: inline-block;
  16. border: 1px solid #ccc;
  17. font-size: 16px;
  18. max-height: 35px;
  19. }
  20. input[type=number] {
  21. width: 125px;
  22. padding: 10px 5px;
  23. display: inline-block;
  24. border: 1px solid #ccc;
  25. font-size: 16px;
  26. }
  27. .button {
  28. padding: 10px 20px;
  29. width: 211px;
  30. font-size: 16px;
  31. }
  32. </style>
  33. </head>
  34. <body style="font-family: arial; padding: 0px 10px;">
  35. <h3>Set the previous value for consistency check and substitution for NaN</h3>
  36. <class id="Numbers_text" style="font-size: 120%; color:black;"><b>Choose Number: </b>
  37. <select id="Numbers_value1" onchange="numberChanged()">
  38. </select>
  39. </class>
  40. <table style="width:100%">
  41. <tr>
  42. <h3>Current Value:</h3><p>
  43. <div id="prevalue"></div>
  44. <h3>Set Value:</h3><p>
  45. Input (Format = 123.456):<p>
  46. Previous Value:
  47. <input type="number" id="myInput" name="myInput"
  48. pattern="[0-9]+([\.,][0-9]+)?" step="0.001"
  49. title="This should be a number with up to 4 decimal places.">
  50. <p></p>
  51. <button class="button" type="button" onclick="setprevalue()">Set Previous Value</button>
  52. </tr>
  53. <tr>
  54. <h3>Result:</h3><p>
  55. <div id="result" readonly></div>
  56. </tr>
  57. </table>
  58. </body></html>
  59. <link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
  60. <script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>
  61. <script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
  62. <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
  63. <script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
  64. <script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>
  65. <script type="text/javascript">
  66. var domainname = getDomainname();
  67. var NUMBERS;
  68. function setprevalue() {
  69. var inputVal = document.getElementById("myInput").value;
  70. var sel = document.getElementById("Numbers_value1");
  71. var _number = sel.options[sel.selectedIndex].text;
  72. inputVal = inputVal.replace(",", ".");
  73. var xhttp = new XMLHttpRequest();
  74. try {
  75. url = domainname + "/setPreValue?value=" + inputVal + "&numbers=" + _number;
  76. xhttp.open("GET", url, false);
  77. xhttp.send();
  78. response = xhttp.responseText;
  79. document.getElementById("result").innerHTML=response;
  80. }
  81. catch (error)
  82. {
  83. firework.launch('Failed to get data from device!', 'danger', 30000);
  84. }
  85. }
  86. function loadPrevalue(_domainname) {
  87. // Get current Pre Value
  88. var sel = document.getElementById("Numbers_value1");
  89. var _number = sel.options[sel.selectedIndex].text;
  90. var xhttp = new XMLHttpRequest();
  91. try {
  92. url = _domainname + '/setPreValue?numbers=' + _number;
  93. xhttp.open("GET", url, false);
  94. xhttp.send();
  95. response = xhttp.responseText;
  96. document.getElementById("prevalue").innerHTML=response;
  97. }
  98. catch (error)
  99. {
  100. firework.launch('Failed to get data from device!', 'danger', 30000);
  101. }
  102. // Get current RAW Value
  103. var sel = document.getElementById("Numbers_value1");
  104. var _number = sel.options[sel.selectedIndex].text;
  105. var xhttp = new XMLHttpRequest();
  106. try {
  107. url = _domainname + '/value?all=true&type=raw';
  108. xhttp.open("GET", url, false);
  109. xhttp.send();
  110. response = xhttp.responseText;
  111. lines = response.split(/\r?\n/);
  112. lines.forEach(function(line) {
  113. arr = line.split("\t");
  114. if (_number == arr[0]) {
  115. document.getElementById("myInput").value=arr[1];
  116. return;
  117. }
  118. });
  119. }
  120. catch (error)
  121. {
  122. firework.launch('Failed to get data from device!', 'danger', 30000);
  123. }
  124. }
  125. function numberChanged(){
  126. loadPrevalue(domainname);
  127. }
  128. function UpdateNUMBERS(_sel){
  129. zw = getNUMBERInfo();
  130. index = 0;
  131. var _index = document.getElementById("Numbers_value1");
  132. while (_index.length){
  133. _index.remove(0);
  134. }
  135. for (var i = 0; i < zw.length; ++i){
  136. var option = document.createElement("option");
  137. option.text = zw[i]["name"];
  138. option.value = i;
  139. _index.add(option);
  140. if (typeof _sel !== 'undefined') {
  141. if (zw[i]["name"] == _sel)
  142. index = i
  143. }
  144. }
  145. _index.selectedIndex = index;
  146. loadPrevalue(domainname);
  147. }
  148. function init(){
  149. domainname = getDomainname();
  150. loadConfig(domainname);
  151. ParseConfig();
  152. UpdateNUMBERS();
  153. loadPrevalue(domainname);
  154. }
  155. init();
  156. </script>