main.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <meta charset="UTF-8">
  6. <title>tcgui</title>
  7. <link rel="stylesheet" href="{{ url_for('static', filename='pure-min.css') }}">
  8. </head>
  9. <body>
  10. <div style="padding:2em;">
  11. <h1>TCGUI - {{ rules|length }} Available Interfaces</h1>
  12. <ul>
  13. {% for rule in rules %}
  14. <li><a href="#{{ rule['name'] }}">{{ rule['name'] }}</a></li>
  15. {% endfor %}
  16. </ul>
  17. {% for rule in rules %}
  18. <div>
  19. <h2 id="{{ rule['name'] }}">{{ rule['name'] }}</h2>
  20. <form method="POST" action="{{ url_for('new_rule', interface=rule['name']) }}">
  21. <table class="pure-table">
  22. <thead>
  23. <tr>
  24. <th>Name</th>
  25. <th>Current Value</th>
  26. <th>New Value</th>
  27. <th>Variance / Correlation</th>
  28. <th>New Value</th>
  29. </tr>
  30. </thead>
  31. <tbody>
  32. <tr>
  33. <td>Rate</td>
  34. <td class="tcgui-value-cell">{{ rule['rate'] }}</td>
  35. <td class="tcgui-input-cell">
  36. <input type="number" name="Rate" size="5">
  37. <select name="rate_unit">
  38. {% for unit in units %}
  39. <option value="{{ unit }}"{% if unit == standard_unit %} selected{% endif %}>{{ unit }}</option>
  40. {% endfor %}
  41. </select>
  42. </td>
  43. </tr>
  44. <tr>
  45. <td>Delay</td>
  46. <td class="tcgui-value-cell">{{ rule['delay'] }}</td>
  47. <td class="tcgui-input-cell"><input type="number" name="Delay" size="5"> ms</td>
  48. <td class="tcgui-value-cell">±{{ rule['delayVariance'] }}</td>
  49. <td class="tcgui-input-cell">±<input type="number" name="DelayVariance" size="5"> ms</td>
  50. </tr>
  51. <tr>
  52. <td>Loss</td>
  53. <td class="tcgui-value-cell">{{ rule['loss'] }}</td>
  54. <td class="tcgui-input-cell"><input type="number" name="Loss" size="5"> %</td>
  55. <td class="tcgui-value-cell">{{ rule['lossCorrelation'] }}</td>
  56. <td class="tcgui-input-cell"> <input type="number" name="LossCorrelation" size="5"> %</td>
  57. </tr>
  58. <tr>
  59. <td>Duplicate</td>
  60. <td class="tcgui-value-cell">{{ rule['duplicate'] }}</td>
  61. <td class="tcgui-input-cell"><input type="number" name="Duplicate" size="5"> %</td>
  62. </tr>
  63. <tr>
  64. <td>Reorder</td>
  65. <td class="tcgui-value-cell">{{ rule['reorder'] }}</td>
  66. <td class="tcgui-input-cell"><input type="number" name="Reorder" size="5"> %</td>
  67. <td class="tcgui-value-cell">{{ rule['reorderCorrelation'] }}</td>
  68. <td class="tcgui-input-cell"> <input type="number" name="ReorderCorrelation" size="5"> %</td>
  69. </tr>
  70. <tr>
  71. <td>Corrupt</td>
  72. <td class="tcgui-value-cell">{{ rule['corrupt'] }}</td>
  73. <td class="tcgui-input-cell"><input type="number" name="Corrupt" size="5"> %</td>
  74. </tr>
  75. <tr>
  76. <td>Limit</td>
  77. <td class="tcgui-value-cell">{{ rule['limit'] }}</td>
  78. <td class="tcgui-input-cell"><input type="number" name="Limit" size="5"></td>
  79. </tr>
  80. </tbody>
  81. </table>
  82. <input class="pure-button pure-button-primary" type="submit" value="Apply {{ rule['name'] }} Rules">
  83. </form>
  84. <form method="POST" action="{{ url_for('remove_rule', interface= rule['name']) }}">
  85. <input class="button-remove pure-button" type="submit" value="Remove {{ rule['name'] }} Rules">
  86. </form>
  87. </div>
  88. {% endfor %}
  89. </div>
  90. <script type="text/javascript">
  91. var x = document.getElementsByClassName("tcgui-value-cell");
  92. var i;
  93. for (i = 0; i < x.length; i++) {
  94. if(x[i].innerHTML.indexOf("None") === -1 ){
  95. x[i].style.backgroundColor = "rgb(121, 168, 255)";
  96. }
  97. }
  98. </script>
  99. <style>
  100. th,td {
  101. text-align: center;
  102. }
  103. .tcgui-input-cell {
  104. text-align: left;
  105. }
  106. .button-remove {
  107. color: white;
  108. background: rgb(202, 60, 60);
  109. }
  110. .pure-button {
  111. margin-top: .5em;
  112. }
  113. </style>
  114. </body>
  115. </html>