vdir.html 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <div class="standardContainer">
  2. <div class="ui basic segment">
  3. <h2>Virtual Directory</h2>
  4. <p>A virtual directory is a consolidated view of multiple directories that provides a unified entry point for users to access disparate sources.</p>
  5. </div>
  6. <div style="width: 100%; overflow-x: auto; margin-bottom: 1em;">
  7. <table class="ui celled sortable unstackable compact table">
  8. <thead>
  9. <tr>
  10. <th>Virtual Directory</th>
  11. <th>Proxy To</th>
  12. <th class="no-sort">Remove</th>
  13. </tr>
  14. </thead>
  15. <tbody id="vdirList">
  16. <tr>
  17. <td data-label=""><button class="ui circular mini red basic button"><i class="remove icon"></i> Remove Proxy</button></td>
  18. </tr>
  19. </tbody>
  20. </table>
  21. </div>
  22. <button class="ui icon right floated basic button" onclick="listVdirs();"><i class="green refresh icon"></i> Refresh</button>
  23. <br><br>
  24. </div>
  25. <script>
  26. //Virtual directories functions
  27. function listVdirs(){
  28. $("#vdirList").html(``);
  29. $.get("/api/proxy/list?type=vdir", function(data){
  30. if (data.error !== undefined){
  31. $("#vdirList").append(`<tr>
  32. <td data-label="" colspan="3"><i class="remove icon"></i> ${data.error}</td>
  33. </tr>`);
  34. }else if (data.length == 0){
  35. $("#vdirList").append(`<tr>
  36. <td data-label="" colspan="3"><i class="checkmark icon"></i> No Virtual Directory Record</td>
  37. </tr>`);
  38. }else{
  39. data.forEach(vdir => {
  40. let tlsIcon = "";
  41. if (vdir.RequireTLS){
  42. tlsIcon = `<i title="TLS mode" class="lock icon"></i>`;
  43. }
  44. $("#vdirList").append(`<tr>
  45. <td data-label="">${vdir.Root}</td>
  46. <td data-label="">${vdir.Domain} ${tlsIcon}</td>
  47. <td class="center aligned" data-label=""><button class="ui circular mini red basic icon button" onclick='deleteEndpoint("vdir","${vdir.Root}")'><i class="trash icon"></i></button></td>
  48. </tr>`);
  49. });
  50. }
  51. });
  52. }
  53. //Bind on tab switch events
  54. tabSwitchEventBind["vdir"] = function(){
  55. listVdirs();
  56. }
  57. </script>