edit.html 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <div class="row tile">
  2. <div class="col-md-12 col-md-auto">
  3. <div class="ibox float-e-margins">
  4. <h3 class="ibox-title" langtag="page-edit"></h3>
  5. <div class="ibox-content">
  6. <form class="form-horizontal">
  7. <input type="hidden" name="id" value="{{.t.Id}}">
  8. <div class="form-group">
  9. <label class="col-sm-2 control-label font-bold" langtag="word-scheme"></label>
  10. <div class="col-sm-10">
  11. <span class="help-block m-b-none font-bold" langtag="word-usecase"></span>:
  12. <span id="usecase">
  13. <span id="casetcp" langtag="info-casetcp"></span>
  14. <span id="caseudp" langtag="info-caseudp"></span>
  15. <span id="casehttpProxy" langtag="info-casehttpproxy"></span>
  16. <span id="casesocks5" langtag="info-casesocks5"></span>
  17. <span id="casesecret" langtag="info-casesecret"></span>
  18. <span id="casep2p" langtag="info-casep2p"></span>
  19. <span id="casefile" langtag="info-casefile"></span>
  20. </span>
  21. <select class="form-control" name="type" id="type">
  22. <option value="tcp" langtag="scheme-tcp"></option>
  23. <option value="udp" langtag="scheme-udp"></option>
  24. <option value="httpProxy" langtag="scheme-httpProxy"></option>
  25. <option value="socks5" langtag="scheme-socks5"></option>
  26. <option value="secret" langtag="scheme-secret"></option>
  27. <option value="p2p" langtag="scheme-p2p"></option>
  28. {{/*<option value="file" langtag="scheme-file"></option>*/}}
  29. </select>
  30. </div>
  31. </div>
  32. <div class="form-group" id="client_id">
  33. <label class="col-sm-2 control-label font-bold" langtag="word-clientid"></label>
  34. <div class="col-sm-10">
  35. <input value="{{.t.Client.Id}}" value="{{.client_id}}" class="form-control" type="text" name="client_id" placeholder="" langtag="word-clientid">
  36. </div>
  37. </div>
  38. <div class="form-group">
  39. <label class="col-sm-2 control-label font-bold" langtag="word-remark"></label>
  40. <div class="col-sm-10">
  41. <input value="{{.t.Remark}}" class="form-control" type="text" name="remark" placeholder="" langtag="info-unrestricted">
  42. </div>
  43. </div>
  44. {{if eq true .allow_multi_ip}}
  45. <div class="form-group" id="server_ip">
  46. <label class="col-sm-2 control-label font-bold" langtag="word-serverip"></label>
  47. <div class="col-sm-10">
  48. <input class="form-control" type="text" value="{{.t.ServerIp}}" name="server_ip" placeholder="" langtag="info-suchasip">
  49. </div>
  50. </div>
  51. {{end}}
  52. <div class="form-group" id="port">
  53. <label class="col-sm-2 control-label font-bold" langtag="word-serverport"></label>
  54. <div class="col-sm-10">
  55. <input value="{{.t.Port}}" class="form-control" type="text" name="port" placeholder="" langtag="info-suchasport">
  56. </div>
  57. </div>
  58. {{if eq true .allow_local_proxy}}
  59. <div class="form-group" id="local_proxy">
  60. <label class="control-label col-sm-2 font-bold" langtag="word-proxytolocal"></label>
  61. <div class="col-sm-10">
  62. <select class="form-control" name="local_proxy">
  63. <option {{if eq false .t.Target.LocalProxy}}selected{{end}} value="0" langtag="word-no"></option>
  64. <option {{if eq true .t.Target.LocalProxy}}selected{{end}} value="1" langtag="word-yes"></option>
  65. </select>
  66. </div>
  67. </div>
  68. {{end}}
  69. <div class="form-group" id="target">
  70. <label class="col-sm-2 control-label font-bold" langtag="word-target"></label>
  71. <div class="col-sm-10">
  72. <textarea class="form-control" name="target" rows="4" placeholder="" langtag="info-suchasiplist">{{.t.Target.TargetStr}}</textarea>
  73. <span class="help-block m-b-none" langtag="info-targettunnel"></span>
  74. </div>
  75. </div>
  76. <div class="form-group" id="local_path">
  77. <label class="col-sm-2 control-label font-bold" langtag="word-localpath"></label>
  78. <div class="col-sm-10">
  79. <input value="{{.t.LocalPath}}" class="form-control" type="text" name="local_path" placeholder="" langtag="info-suchaslocalpath">
  80. </div>
  81. </div>
  82. <div class="form-group" id="strip_pre">
  83. <label class="col-sm-2 control-label font-bold" langtag="word-stripprefix"></label>
  84. <div class="col-sm-10">
  85. <input value="{{.t.StripPre}}" class="form-control" type="text" name="strip_pre" placeholder="" langtag="info-suchasstripprefix">
  86. </div>
  87. </div>
  88. <div class="form-group" id="password">
  89. <label class="col-sm-2 control-label font-bold" langtag="word-identificationkey"></label>
  90. <div class="col-sm-10">
  91. <input value="{{.t.Password}}" class="form-control" type="text" name="password" placeholder="" langtag="word-identificationkey">
  92. <span class="help-block m-b-none" langtag="info-identificationkey"></span>
  93. </div>
  94. </div>
  95. <div class="hr-line-dashed"></div>
  96. <div class="form-group">
  97. <div class="col-sm-4 col-sm-offset-2">
  98. <button class="btn btn-success" type="button" onclick="submitform('edit', '{{.web_base_url}}/index/edit', $('form').serializeArray())">
  99. <i class="fa fa-fw fa-lg fa-check-circle"></i> <span langtag="word-save"></span>
  100. </button>
  101. </div>
  102. </div>
  103. </form>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <script>
  109. var arr = []
  110. arr["all"] = ["port", "target", "password", "local_path", "strip_pre", "local_proxy"]
  111. arr["tcp"] = ["client_id", "port", "target", "local_proxy"]
  112. arr["udp"] = ["client_id", "port", "target", "local_proxy"]
  113. arr["socks5"] = ["client_id", "port"]
  114. arr["httpProxy"] = ["client_id", "port"]
  115. arr["secret"] = ["client_id", "target", "password"]
  116. arr["p2p"] = ["client_id", "target", "password"]
  117. arr["file"] = ["client_id", "port", "local_path", "strip_pre"]
  118. function resetForm() {
  119. $(".form-group[id]").css("display", "none");
  120. $("#usecase span").css("display", "none");
  121. o = $("#type").val();
  122. $('#case'+ o).css("display", "inline")
  123. for (var i = 0; i < arr[o].length; i++) {
  124. $("#" + arr[o][i]).css("display", "block")
  125. }
  126. }
  127. $(function () {
  128. $("#type").val('{{.t.Mode}}');
  129. resetForm()
  130. $("#type").on("change", function () {
  131. resetForm()
  132. })
  133. $("#use_client").on("change", function () {
  134. resetForm()
  135. })
  136. })
  137. </script>