graph.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <html>
  2. <head>
  3. <script src='https://cdn.plot.ly/plotly-2.14.0.min.js'></script>
  4. <script type="text/javascript" src="./gethost.js"></script>
  5. <script type="text/javascript" src="./readconfigcommon.js"></script>
  6. <script type="text/javascript" src="./readconfigparam.js"></script>
  7. <style>
  8. textarea {
  9. width: 600px;
  10. height: 300px;
  11. }
  12. </style>
  13. <script>
  14. function run() {
  15. var el = document.getElementById('cnsl');
  16. el && eval(el.value);
  17. }
  18. </script>
  19. </head>
  20. <body>
  21. <div id='chart'></div>
  22. <select id="datafiles" onchange="run();"></select>
  23. <select id="numbers" onchange="run();"></select>
  24. <select id="datatype" onchange="run();">
  25. <option value="3">Value</option>
  26. <option value="4">PreValue</option>
  27. <option value="5">Change-Rate</option>
  28. <option value="6">Change-Absolut</option>
  29. </select>
  30. <button onclick="document.getElementById('editor').hidden = false; this.hidden = true;" >Editor</button>
  31. <div id='editor' hidden='true'>
  32. <textarea id="cnsl">
  33. datefile = document.getElementById("datafiles").value;
  34. numbername = document.getElementById("numbers").value;
  35. datatype = document.getElementById("datatype").value;
  36. //alert("Auslesen: " + datefile + " " + numbername);
  37. _basepath = getbasepath();
  38. fetch(_basepath + '/fileserver/log/data/' + datefile)
  39. .then(response => {
  40. // handle the response
  41. if (response.status == 404) {
  42. alert("no log data available for "+dateString);
  43. }
  44. response.text()
  45. .then( result => {
  46. var lines = result.split("\n");
  47. var trace = {
  48. x: [],
  49. y: [],
  50. type: 'scatter'
  51. };
  52. var timex = 1;
  53. for (let line of lines) {
  54. {
  55. console.log(line);
  56. if (line.split("\t")[1] == numbername)
  57. {
  58. var value = line.split("\t")[datatype];
  59. var time = line.split("\t")[0];
  60. console.log("> "+time+" "+value+"\n");
  61. if (value<1000) {
  62. trace.x.push(timex);
  63. timex += 1;
  64. trace.y.push(value);
  65. }
  66. }
  67. }
  68. }
  69. console.log(trace);
  70. var data = [trace];
  71. Plotly.newPlot('chart', data);
  72. });
  73. }).catch((error) => {
  74. // handle the error
  75. console.log(error);
  76. alert("test");
  77. });
  78. </textarea><br />
  79. <button onclick="run();">run</button>
  80. </div>
  81. <script>
  82. function WriteModelFiles()
  83. {
  84. list_data = getDATAList();
  85. var _indexDig = document.getElementById("datafiles");
  86. while (_indexDig.length)
  87. _indexDig.remove(0);
  88. for (var i = list_data.length - 1; i >= 0; --i)
  89. {
  90. var optionDig = document.createElement("option");
  91. var text = list_data[i];
  92. optionDig.text = text;
  93. optionDig.value = list_data[i];
  94. _indexDig.add(optionDig);
  95. }
  96. }
  97. function WriteNumbers()
  98. {
  99. list_data = getNUMBERSList();
  100. var _indexDig = document.getElementById("numbers");
  101. while (_indexDig.length)
  102. _indexDig.remove(0);
  103. for (var i = 0; i < list_data.length; ++i)
  104. {
  105. var optionDig = document.createElement("option");
  106. var text = list_data[i];
  107. optionDig.text = text;
  108. optionDig.value = list_data[i];
  109. _indexDig.add(optionDig);
  110. }
  111. }
  112. WriteModelFiles();
  113. WriteNumbers();
  114. run();
  115. </script>
  116. </body>
  117. </html>