prevalue_set.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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. <td>
  43. <h3>Current "Previous Value":</h3>
  44. </td>
  45. <td>
  46. <div id="prevalue"></div>
  47. </td>
  48. </tr>
  49. <tr>
  50. <td>
  51. <h3>New "Previous Value":<br>(Format = 123.456)</h3><p>&nbsp;</p>
  52. </td>
  53. <td>
  54. <input type="number" id="myInput" name="myInput"
  55. pattern="[0-9]+([\.,][0-9]+)?" step="0.001"
  56. title="This should be a number with up to 4 decimal places.">
  57. <button class="button" type="button" onclick="setprevalue()">Set Previous Value</button>
  58. <p>(The current "Raw Value" got entered as the suggested new "Previous Value")</p>
  59. </td>
  60. </tr>
  61. <tr>
  62. <td>
  63. <h3>Result:</h3>
  64. </td>
  65. <td>
  66. <div id="result" readonly></div>
  67. </td>
  68. </tr>
  69. </table>
  70. </body></html>
  71. <link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
  72. <script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>
  73. <script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
  74. <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
  75. <script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
  76. <script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>
  77. <script type="text/javascript">
  78. var domainname = getDomainname();
  79. var NUMBERS;
  80. function setprevalue() {
  81. var inputVal = document.getElementById("myInput").value;
  82. var sel = document.getElementById("Numbers_value1");
  83. var _number = sel.options[sel.selectedIndex].text;
  84. inputVal = inputVal.replace(",", ".");
  85. var xhttp = new XMLHttpRequest();
  86. try {
  87. url = domainname + "/setPreValue?value=" + inputVal + "&numbers=" + _number;
  88. xhttp.open("GET", url, false);
  89. xhttp.send();
  90. response = xhttp.responseText;
  91. document.getElementById("result").innerHTML=response;
  92. }
  93. catch (error)
  94. {
  95. firework.launch('Failed to get data from device!', 'danger', 30000);
  96. }
  97. }
  98. function loadPrevalue(_domainname) {
  99. // Get current Pre Value
  100. var sel = document.getElementById("Numbers_value1");
  101. var _number = sel.options[sel.selectedIndex].text;
  102. var xhttp = new XMLHttpRequest();
  103. try {
  104. url = _domainname + '/setPreValue?numbers=' + _number;
  105. xhttp.open("GET", url, false);
  106. xhttp.send();
  107. response = xhttp.responseText;
  108. document.getElementById("prevalue").innerHTML=response;
  109. }
  110. catch (error)
  111. {
  112. firework.launch('Failed to get data from device!', 'danger', 30000);
  113. }
  114. // Get current RAW Value
  115. var sel = document.getElementById("Numbers_value1");
  116. var _number = sel.options[sel.selectedIndex].text;
  117. var xhttp = new XMLHttpRequest();
  118. try {
  119. url = _domainname + '/value?all=true&type=raw';
  120. xhttp.open("GET", url, false);
  121. xhttp.send();
  122. response = xhttp.responseText;
  123. lines = response.split(/\r?\n/);
  124. lines.forEach(function(line) {
  125. arr = line.split("\t");
  126. if (_number == arr[0]) {
  127. document.getElementById("myInput").value=arr[1];
  128. return;
  129. }
  130. });
  131. }
  132. catch (error)
  133. {
  134. firework.launch('Failed to get data from device!', 'danger', 30000);
  135. }
  136. }
  137. function numberChanged(){
  138. loadPrevalue(domainname);
  139. }
  140. function UpdateNUMBERS(_sel){
  141. zw = getNUMBERInfo();
  142. index = 0;
  143. var _index = document.getElementById("Numbers_value1");
  144. while (_index.length){
  145. _index.remove(0);
  146. }
  147. for (var i = 0; i < zw.length; ++i){
  148. var option = document.createElement("option");
  149. option.text = zw[i]["name"];
  150. option.value = i;
  151. _index.add(option);
  152. if (typeof _sel !== 'undefined') {
  153. if (zw[i]["name"] == _sel)
  154. index = i
  155. }
  156. }
  157. _index.selectedIndex = index;
  158. loadPrevalue(domainname);
  159. }
  160. function init(){
  161. domainname = getDomainname();
  162. loadConfig(domainname);
  163. ParseConfig();
  164. UpdateNUMBERS();
  165. loadPrevalue(domainname);
  166. }
  167. init();
  168. </script>