Webadmin - toggle Formularparameter

Add a toggle to expand/collapse the form-parameters of a afs-webadmin

当前为 2014-11-10 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Webadmin - toggle Formularparameter
  3. // @namespace com.aforms2web.ds.ujs
  4. // @description Add a toggle to expand/collapse the form-parameters of a afs-webadmin
  5. // @author dietmar.stoiber@aforms2web.com
  6. // @include *webadmin*
  7. // @version 1.0
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. var parameterList = document.getElementById("parameterList");
  12.  
  13. if(parameterList != null){
  14.  
  15. // ### Insert CSS (because Stylish is not able to use Wildcards)
  16. var css = new Array();
  17.  
  18. function writeStyle(css) {
  19. var style = document.createElement('style');
  20. style.type = 'text/css';
  21. if (document.getElementsByTagName) {
  22. document.getElementsByTagName('head')[0].appendChild(style);
  23. if (style.sheet && style.sheet.insertRule) {
  24. for (var i = 0; i < css.length; i++) {
  25. style.sheet.insertRule(css[i], 0);
  26. }
  27. }
  28. }
  29. }
  30.  
  31. function addStyle(style) {
  32. css[css.length] = style;
  33. }
  34.  
  35. // Define your CSS here
  36.  
  37. addStyle("#parameterListToggle{"
  38. + " padding-left: 20px!important;"
  39. + " color: navy;"
  40. + " font-weight: normal!important;"
  41. + " cursor: pointer;"
  42. + "}");
  43. addStyle("#parameterListToggle:hover{"
  44. + " color: green;"
  45. + "}");
  46. addStyle("#parameterListToggle:before{"
  47. + " content: \"[ \";"
  48. + " color: black;"
  49. + "}");
  50. addStyle("#parameterListToggle:after{"
  51. + " content: \" ] \";"
  52. + " color: black;"
  53. + "}");
  54. // Writes CSS to the document
  55. writeStyle(css);
  56.  
  57.  
  58.  
  59. // ### Gnerate Toggle Link
  60.  
  61. var parameterList = document.getElementById("parameterList");
  62. var parameterListHeaderTd = parameterList.previousSibling.previousSibling.childNodes[1].childNodes[2].childNodes[1];
  63.  
  64. var newSpan = document.createElement("span");
  65. var idNode = document.createAttribute("id");
  66. idNode.nodeValue = "parameterListToggle";
  67. newSpan.setAttributeNode(idNode);
  68. var onclickNode = document.createAttribute("onclick");
  69. onclickNode.nodeValue = "toggle_parameterList();";
  70. newSpan.setAttributeNode(onclickNode);
  71. newSpan.appendChild(document.createTextNode("toggle"));
  72. parameterListHeaderTd.appendChild(newSpan)
  73.  
  74. var newScript = document.createElement("script");
  75. var typeNode = document.createAttribute("type");
  76. typeNode.nodeValue = "text/javascript";
  77. newScript.setAttributeNode(typeNode);
  78. newScript.appendChild(document.createTextNode(
  79. "function toggle_parameterList() {\n"
  80. + " var elem = document.getElementById('parameterList');\n"
  81. + " var tggl = document.getElementById('parameterListToggle').childNodes[0];\n"
  82. + " if(elem.style.display == '') {\n"
  83. + " elem.style.display = 'none';\n"
  84. + " tggl.nodeValue = '▼ expand';\n"
  85. + " } else {\n"
  86. + " elem.style.display = '';\n"
  87. + " tggl.nodeValue = '△ collapse';\n"
  88. + " }\n"
  89. + "} "));
  90. parameterListHeaderTd.appendChild(newScript)
  91.  
  92. toggle_parameterList();
  93.  
  94. }