graph.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <html>
  2. <head>
  3. <script type="text/javascript" src='plotly-2.14.0.min.js?v=$COMMIT_HASH'></script>
  4. <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
  5. <script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
  6. <script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></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. <link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
  20. <script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>
  21. <script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
  22. </head>
  23. <body>
  24. <div id='chart'></div>
  25. <select id="datafiles" onchange="run();"></select>
  26. <select id="numbers" onchange="run();"></select>
  27. <select id="datatype" onchange="run();">
  28. <option value="3">Value</option>
  29. <option value="4">PreValue</option>
  30. <option value="5">Change-Rate</option>
  31. <option value="6">Change-Absolut</option>
  32. </select>
  33. <button onClick="window.location.href = getDomainname() + '/fileserver/log/data/'">Show data files</button>
  34. <!-- <button onclick="document.getElementById('editor').hidden = false; this.hidden = true;" >Editor</button> -->
  35. <div id='editor' hidden='true'>
  36. <textarea id="cnsl">
  37. datefile = document.getElementById("datafiles").value;
  38. numbername = document.getElementById("numbers").value;
  39. datatype = document.getElementById("datatype").value;
  40. //alert("Auslesen: " + datefile + " " + numbername);
  41. _domainname = getDomainname();
  42. fetch(_domainname + '/fileserver/log/data/' + datefile)
  43. .then(response => {
  44. // handle the response
  45. if (response.status == 404) {
  46. firework.launch("No log data available for " + dateString, 'warning', 10000);
  47. }
  48. response.text()
  49. .then( result => {
  50. var lines = result.split("\n");
  51. var trace = {
  52. x: [],
  53. y: [],
  54. type: 'scatter'
  55. };
  56. var timex = 1;
  57. for (let line of lines) {
  58. {
  59. console.log(line);
  60. if (line.split(",")[1] == numbername)
  61. {
  62. var value = line.split(",")[datatype];
  63. var time = line.split(",")[0];
  64. console.log("> "+time+" "+value+"\n");
  65. trace.x.push(time);
  66. // timex += 1;
  67. trace.y.push(value);
  68. }
  69. }
  70. }
  71. console.log(trace);
  72. var data = [trace];
  73. Plotly.newPlot('chart', data);
  74. });
  75. }).catch((error) => {
  76. // handle the error
  77. console.log(error);
  78. });
  79. </textarea><br />
  80. <button onclick="run();">run</button>
  81. </div>
  82. <script>
  83. function WriteModelFiles()
  84. {
  85. list_data = getDATAList();
  86. var _indexDig = document.getElementById("datafiles");
  87. while (_indexDig.length)
  88. _indexDig.remove(0);
  89. for (var i = list_data.length - 1; i >= 0; --i)
  90. {
  91. var optionDig = document.createElement("option");
  92. var text = list_data[i];
  93. optionDig.text = text;
  94. optionDig.value = list_data[i];
  95. _indexDig.add(optionDig);
  96. }
  97. }
  98. function WriteNumbers()
  99. {
  100. list_data = getNUMBERSList();
  101. var _indexDig = document.getElementById("numbers");
  102. while (_indexDig.length)
  103. _indexDig.remove(0);
  104. for (var i = 0; i < list_data.length; ++i)
  105. {
  106. var optionDig = document.createElement("option");
  107. var text = list_data[i];
  108. optionDig.text = text;
  109. optionDig.value = list_data[i];
  110. _indexDig.add(optionDig);
  111. }
  112. }
  113. WriteModelFiles();
  114. WriteNumbers();
  115. run();
  116. </script>
  117. </body>
  118. </html>