vdir.html 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. <table class="ui celled sortable unstackable compact table">
  7. <thead>
  8. <tr>
  9. <th>Virtual Directory</th>
  10. <th>Proxy To</th>
  11. <th class="no-sort">Remove</th>
  12. </tr>
  13. </thead>
  14. <tbody id="vdirList">
  15. <tr>
  16. <td data-label=""><button class="ui circular mini red basic button"><i class="remove icon"></i> Remove Proxy</button></td>
  17. </tr>
  18. </tbody>
  19. </table>
  20. <button class="ui icon right floated basic button" onclick="listVdirs();"><i class="green refresh icon"></i> Refresh</button>
  21. <br><br>
  22. </div>
  23. <script>
  24. //Virtual directories functions
  25. listVdirs();
  26. function listVdirs(){
  27. $("#vdirList").html(``);
  28. $.get("/api/proxy/list?type=vdir", function(data){
  29. if (data.error !== undefined){
  30. $("#vdirList").append(`<tr>
  31. <td data-label="" colspan="3"><i class="remove icon"></i> ${data.error}</td>
  32. </tr>`);
  33. }else if (data.length == 0){
  34. $("#vdirList").append(`<tr>
  35. <td data-label="" colspan="3"><i class="checkmark icon"></i> No Virtual Directory Record</td>
  36. </tr>`);
  37. }else{
  38. data.forEach(vdir => {
  39. let tlsIcon = "";
  40. if (vdir.RequireTLS){
  41. tlsIcon = `<i title="TLS mode" class="lock icon"></i>`;
  42. }
  43. $("#vdirList").append(`<tr>
  44. <td data-label="">${vdir.Root}</td>
  45. <td data-label="">${vdir.Domain} ${tlsIcon}</td>
  46. <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>
  47. </tr>`);
  48. });
  49. }
  50. });
  51. }
  52. </script>