1
0

upstreams.html 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <!-- Notes: This should be open in its original path-->
  5. <link rel="stylesheet" href="../script/semantic/semantic.min.css">
  6. <script src="../script/jquery-3.6.0.min.js"></script>
  7. <script src="../script/semantic/semantic.min.js"></script>
  8. </head>
  9. <body>
  10. <br>
  11. <div class="ui container">
  12. <div class="ui header">
  13. <div class="content">
  14. Upstreams / Origins
  15. <div class="sub header epname"></div>
  16. </div>
  17. </div>
  18. <div class="ui divider"></div>
  19. <table class="ui very basic compacted unstackable celled table">
  20. <thead>
  21. <tr>
  22. <th>Upstream</th>
  23. <th>Remove</th>
  24. </tr></thead>
  25. <tbody id="inlineEditTable">
  26. <tr>
  27. <td colspan="2"><i class="ui green circle check icon"></i> No Upstreams</td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. <div class="ui divider"></div>
  32. <div class="field" >
  33. <button class="ui basic button" style="float: right;" onclick="closeThisWrapper();">Close</button>
  34. </div>
  35. </div>
  36. <br><br><br><br>
  37. </div>
  38. <script>
  39. let origins = [];
  40. let editingEndpoint = {};
  41. function initOriginList(){
  42. $.ajax({
  43. url: "/api/proxy/detail",
  44. method: "POST",
  45. data: {
  46. "type":"host",
  47. "epname": editingEndpoint.ep
  48. },
  49. success: function(data){
  50. if (data.error != undefined){
  51. //This endpoint not exists?
  52. alert(data.error);
  53. return;
  54. }else{
  55. $("#inlineEditTable").html("");
  56. if (data.Origins != undefined){
  57. origins = data.Origins;
  58. console.log(origins);
  59. }else{
  60. //Assume no origins
  61. $("#inlineEditTable").html(`<tr>
  62. <td colspan="2"><i class="ui red circle times icon"></i> Invalid Upstream Settings</td>
  63. </tr>`);
  64. }
  65. }
  66. }
  67. })
  68. }
  69. if (window.location.hash.length > 1){
  70. let payloadHash = window.location.hash.substr(1);
  71. try{
  72. payloadHash = JSON.parse(decodeURIComponent(payloadHash));
  73. $(".epname").text(payloadHash.ep);
  74. editingEndpoint = payloadHash;
  75. initOriginList();
  76. }catch(ex){
  77. console.log("Unable to load endpoint data from hash")
  78. }
  79. }
  80. function closeThisWrapper(){
  81. parent.hideSideWrapper(true);
  82. }
  83. </script>
  84. </body>
  85. </html>