root/resources/templates/index/en_parameters.js.vm @ 170:5d57e45fce1e

Revision 170:5d57e45fce1e, 4.7 KB (checked in by jean-gui, 5 years ago)

MimeTypes? work again for DirectInput?

Line 
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
86var simpleParameters = new Array();
87var advancedParameters = new Array();
88var 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
99function 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
113function 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
139function 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
146function 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}
Note: See TracBrowser for help on using the browser.