| 1 | #macro(createDropdown $param) |
|---|
| 2 | #set($defaults = $param.getMapOfDefaultValue()) |
|---|
| 3 | ' $param.getLongName("en") : ' + |
|---|
| 4 | '<select name="$param.Name">' + |
|---|
| 5 | #foreach ($value in $param.getMapOfValue()) |
|---|
| 6 | ' <option value="$value.Name"#if($defaults.containsKey($value.getName())) selected="selected" #end>$value.getLongName("en")</option>' + |
|---|
| 7 | #end |
|---|
| 8 | '</select>' + |
|---|
| 9 | #end |
|---|
| 10 | |
|---|
| 11 | #macro(createRadio $param) |
|---|
| 12 | #set($defaults = $param.getMapOfDefaultValue()) |
|---|
| 13 | ' $param.getLongName("en") : ' + |
|---|
| 14 | #foreach ($value in $param.getMapOfValue()) |
|---|
| 15 | ' <input type="radio" name="$param.Name" value="$value.getName()"#if($defaults.containsKey($value.getName())) checked="checked" #end/> $value.getLongName("en")' + |
|---|
| 16 | #end |
|---|
| 17 | #end |
|---|
| 18 | |
|---|
| 19 | #macro(createCheckbox $param) |
|---|
| 20 | #set($defaults = $param.getMapOfDefaultValue()) |
|---|
| 21 | ' $param.getLongName("en") : ' + |
|---|
| 22 | ' <input type="checkbox" name="$param.getName()"#if($defaults.containsKey($value.getName())) checked="checked" #end/>' + |
|---|
| 23 | #end |
|---|
| 24 | |
|---|
| 25 | #macro(createCheckboxList $param) |
|---|
| 26 | #set($defaults = $param.getMapOfDefaultValue()) |
|---|
| 27 | ' $param.getLongName("en") : ' + |
|---|
| 28 | #foreach ($value in $param.getMapOfValue()) |
|---|
| 29 | ' <input type="checkbox" name="$param.getName()" value="$value.getName()"#if($defaults.containsKey($value.getName())) checked="checked" #end/> $value.getLongName("en")' + |
|---|
| 30 | #end |
|---|
| 31 | #end |
|---|
| 32 | |
|---|
| 33 | #macro(createTextarea $param) |
|---|
| 34 | #set($defaults = $param.getDefaultValue()) |
|---|
| 35 | ' $param.getLongName("en") : ' + |
|---|
| 36 | ' <textarea name="$param.Name">#foreach($default in $defaults)$default.Name#end</textarea>' + |
|---|
| 37 | #end |
|---|
| 38 | |
|---|
| 39 | #macro(createTextfield $param) |
|---|
| 40 | #set($defaults = $param.getDefaultValue()) |
|---|
| 41 | ' $param.getLongName("en") : ' + |
|---|
| 42 | ' <input type="textfield" name="$param.Name" value="#foreach($default in $defaults)$default.Name#end"/>' + |
|---|
| 43 | #end |
|---|
| 44 | |
|---|
| 45 | #macro(createParameter $param) |
|---|
| 46 | #set($type = $param.getType()) |
|---|
| 47 | #if($type == $checkbox) |
|---|
| 48 | #createCheckbox($param) |
|---|
| 49 | #elseif($type == $checkboxlist) |
|---|
| 50 | #createCheckboxList($param) |
|---|
| 51 | #elseif($type == $radio) |
|---|
| 52 | #createRadio($param) |
|---|
| 53 | #elseif($type == $textarea) |
|---|
| 54 | #createTextarea($param) |
|---|
| 55 | #elseif($type == $textfield) |
|---|
| 56 | #createTextfield($param) |
|---|
| 57 | #else |
|---|
| 58 | #createDropdown($param) |
|---|
| 59 | #end |
|---|
| 60 | #end |
|---|
| 61 | |
|---|
| 62 | #macro(createParameters $task) |
|---|
| 63 | #foreach ($param in $task.getMapOfParameter()) |
|---|
| 64 | #if($param.UiLevel == $simple) |
|---|
| 65 | simpleParameters["$task.getID()"] += |
|---|
| 66 | ' <li>' + |
|---|
| 67 | #createParameter($param) |
|---|
| 68 | ' </li>' |
|---|
| 69 | #elseif($param.UiLevel == $advanced) |
|---|
| 70 | advancedParameters["$task.getID()"] += |
|---|
| 71 | ' <li>' + |
|---|
| 72 | #createParameter($param) |
|---|
| 73 | ' </li>' |
|---|
| 74 | #end |
|---|
| 75 | #end |
|---|
| 76 | #end |
|---|
| 77 | |
|---|
| 78 | #macro(createMimes $task) |
|---|
| 79 | '<select name="ucn_text_mime">' + |
|---|
| 80 | #foreach($mime in $task.SupportedMimeTypes) |
|---|
| 81 | '<option value="$mime">$mime</option>' + |
|---|
| 82 | #end |
|---|
| 83 | '</select>' |
|---|
| 84 | #end |
|---|
| 85 | |
|---|
| 86 | var simpleParameters = new Array(); |
|---|
| 87 | var advancedParameters = new Array(); |
|---|
| 88 | var mimeContainer = new Array(); |
|---|
| 89 | |
|---|
| 90 | #foreach($task in $tasklist) |
|---|
| 91 | simpleParameters["$task.getID()"] = '<ul>'; |
|---|
| 92 | advancedParameters["$task.getID()"] = '<ul>'; |
|---|
| 93 | #createParameters($task); |
|---|
| 94 | simpleParameters["$task.getID()"] += '</ul>'; |
|---|
| 95 | advancedParameters["$task.getID()"] += '</ul>'; |
|---|
| 96 | mimeContainer["$task.getID()"] = #createMimes($task); |
|---|
| 97 | #end |
|---|
| 98 | |
|---|
| 99 | function getElementsByClass(val) { |
|---|
| 100 | var all = document.getElementsByTagName('*'); |
|---|
| 101 | var arr = []; |
|---|
| 102 | |
|---|
| 103 | for(var k = 0; k < all.length; k++) { |
|---|
| 104 | className = all[k].className; |
|---|
| 105 | if(className && className.indexOf(val) > -1) { |
|---|
| 106 | arr[arr.length] = all[k]; |
|---|
| 107 | //alert(attribute); |
|---|
| 108 | } |
|---|
| 109 | } |
|---|
| 110 | return arr; |
|---|
| 111 | } |
|---|
| 112 | |
|---|
| 113 | function taskChanged(value, method) { |
|---|
| 114 | var simpleParamsContainers = getElementsByClass("simpleParamList"); |
|---|
| 115 | var advancedParamsContainers = getElementsByClass("advancedParamList"); |
|---|
| 116 | |
|---|
| 117 | simpleParamsContainers[method].innerHTML = simpleParameters[value]; |
|---|
| 118 | advancedParamsContainers[method].innerHTML = advancedParameters[value]; |
|---|
| 119 | |
|---|
| 120 | if(simpleParameters[value] == '<ul></ul>') { |
|---|
| 121 | simpleParamsContainers[method].parentNode.style.display = 'none'; |
|---|
| 122 | } |
|---|
| 123 | else { |
|---|
| 124 | simpleParamsContainers[method].parentNode.style.display = 'block'; |
|---|
| 125 | } |
|---|
| 126 | if(advancedParameters[value] == '<ul></ul>') { |
|---|
| 127 | advancedParamsContainers[method].parentNode.style.display = 'none'; |
|---|
| 128 | } |
|---|
| 129 | else { |
|---|
| 130 | advancedParamsContainers[method].parentNode.style.display = 'block'; |
|---|
| 131 | } |
|---|
| 132 | |
|---|
| 133 | // mimetypes dropdown |
|---|
| 134 | if(method == 2) { |
|---|
| 135 | document.getElementById("ucn_text_mime").innerHTML = mimeContainer[value]; |
|---|
| 136 | } |
|---|
| 137 | } |
|---|
| 138 | |
|---|
| 139 | function init() { |
|---|
| 140 | var tasklists = document.getElementsByName('ucn_task'); |
|---|
| 141 | for(var i = 0; i < tasklists.length; i++) { |
|---|
| 142 | taskChanged(tasklists[i].options[tasklists[i].options.selectedIndex].value, i); |
|---|
| 143 | } |
|---|
| 144 | } |
|---|
| 145 | |
|---|
| 146 | function expand() { |
|---|
| 147 | var adv = this.getElementsByClass("advancedParamList"); |
|---|
| 148 | for(var i = 0; i < adv.length; i++) { |
|---|
| 149 | adv[i].style.display = (adv[i].style.display == 'block') ? 'none' : 'block'; |
|---|
| 150 | } |
|---|
| 151 | } |
|---|