yamleditor.htm 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <%+cbi/valueheader%>
  2. <script src="/luci-static/resources/codemirror/lib/codemirror.js"></script>
  3. <link rel="stylesheet" href="/luci-static/resources/codemirror/lib/codemirror.css"/>
  4. <script src="/luci-static/resources/codemirror/mode/yaml/yaml.js"></script>
  5. <link rel="stylesheet" href="/luci-static/resources/codemirror/theme/dracula.css"/>
  6. <link rel="stylesheet" href="/luci-static/resources/codemirror/addon/fold/foldgutter.css"/>
  7. <script src="/luci-static/resources/codemirror/addon/fold/foldcode.js"></script>
  8. <script src="/luci-static/resources/codemirror/addon/fold/foldgutter.js"></script>
  9. <script src="/luci-static/resources/codemirror/addon/fold/indent-fold.js"></script>
  10. <script type="text/javascript">//<![CDATA[
  11. var editor = CodeMirror.fromTextArea(document.getElementById("cbid.AdGuardHome.AdGuardHome.escconf"), {
  12. mode: "text/yaml", //实现groovy代码高亮
  13. styleActiveLine: true,
  14. lineNumbers: true, //显示行号
  15. theme: "dracula", //设置主题
  16. lineWrapping: true, //代码折叠
  17. foldGutter: true,
  18. gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
  19. matchBrackets: true //括号匹配
  20. }
  21. );
  22. function reload_config(){
  23. XHR.get('<%=url([[admin]], [[services]], [[AdGuardHome]], [[reloadconfig]])%>', null,
  24. function(x, data) {
  25. location.reload();
  26. });}
  27. function use_template(){
  28. XHR.get('<%=url([[admin]], [[services]], [[AdGuardHome]], [[gettemplateconfig]])%>', null,
  29. function(x, data) {
  30. editor.setValue(x.responseText)
  31. });}
  32. //]]>
  33. </script>
  34. <%fs=require"nixio.fs"%>
  35. <%if fs.access("/tmp/AdGuardHometmpconfig.yaml") then%>
  36. <input type="button" id="apply_update_button" value="<%:Reload Config%>" onclick=" return reload_config() "/>
  37. <%end%>
  38. <input type="button" id="template_button" value="<%:Use template%>" onclick=" return use_template() "/>
  39. <%+cbi/valuefooter%>