-% my %saw = ();
-% foreach my $value ( keys %hash ) {
-% local($^W)=0; next if $saw{$value}++;
-% my $label = $hash{$value};
-%
-
-
- <option value="<% $value %>"<% $value eq $conf->config($i->key) || ( $type eq 'selectmultiple' && grep { $_ eq $value } $conf->config($i->key) ) ? ' SELECTED' : '' %>><% $label %>
-% }
-% my $curvalue = $conf->config($i->key);
-% if ( $conf->exists($i->key) && $curvalue
-% && ! $hash{$curvalue}
-% ) {
-%
-
-
- <option value="<% $conf->config($i->key) %>" SELECTED><% exists( $hash{ $conf->config($i->key) } ) ? $hash{ $conf->config($i->key) } : $conf->config($i->key) %>
-% }
-
-
- </select>
-% } elsif ( $type eq 'select-sub' ) {
-
-
- <select name="<% $i->key. $n %>">
- <option value="">
-% my %options = &{$i->options_sub};
-% my @options = sort { $a <=> $b } keys %options;
-% my %saw;
-% foreach my $value ( @options ) {
-% local($^W)=0; next if $saw{$value}++;
-%
-
- <option value="<% $value %>"<% $value eq $conf->config($i->key) ? ' SELECTED' : '' %>><% $value %>: <% $options{$value} %>
-% }
-% if ( $conf->exists($i->key) && $conf->config($i->key) && ! exists $options{$conf->config($i->key)} ) {
-
- <option value=<% $conf->config($i->key) %> SELECTED><% $conf->config($i->key) %>: <% &{ $i->option_sub }( $conf->config($i->key) ) %>
-% }
-
- </select>
-% } elsif ( $type eq 'editlist' ) {
-
-
- <script>
- function doremove<% $i->key. $n %>() {
- fromObject = document.OneTrueForm.<% $i->key. $n %>;
- for (var i=fromObject.options.length-1;i>-1;i--) {
- if (fromObject.options[i].selected)
- deleteOption<% $i->key. $n %>(fromObject,i);
- }
- }
- function deleteOption<% $i->key. $n %>(object,index) {
- object.options[index] = null;
- }
- function selectall<% $i->key. $n %>() {
- fromObject = document.OneTrueForm.<% $i->key. $n %>;
- for (var i=fromObject.options.length-1;i>-1;i--) {
- fromObject.options[i].selected = true;
- }
- }
- function doadd<% $i->key. $n %>(object) {
- var myvalue = "";
-% if ( defined($i->editlist_parts) ) {
-% foreach my $pnum ( 0 .. scalar(@{$i->editlist_parts})-1 ) {
+ <script>
+ function doremove<% "$key$n" %>() {
+ fromObject = document.OneTrueForm.<% "$key$n" %>;
+ for (var i=fromObject.options.length-1;i>-1;i--) {
+ if (fromObject.options[i].selected)
+ deleteOption<% "$key$n" %>(fromObject,i);
+ }
+ }
+ function deleteOption<% "$key$n" %>(object,index) {
+ object.options[index] = null;
+ }
+ function selectall<% "$key$n" %>() {
+ fromObject = document.OneTrueForm.<% "$key$n" %>;
+ for (var i=fromObject.options.length-1;i>-1;i--) {
+ fromObject.options[i].selected = true;
+ }
+ }
+ function doadd<% "$key$n" %>(object) {
+ var myvalue = "";
+
+% if ( defined($config_item->editlist_parts) ) {
+% foreach my $pnum ( 0 .. scalar(@{$config_item->editlist_parts})-1 ) {
+
+ if ( myvalue != "" ) { myvalue = myvalue + " "; }
+
+% if ( $config_item->editlist_parts->[$pnum]{type} eq 'select' ) {
+
+ myvalue = myvalue + object.add<% "$key${n}_$pnum" %>.options[object.add<% "$key${n}_$pnum" %>.selectedIndex].value
+ <!-- #RESET SELECT?? maybe not... -->
+
+% } elsif ( $config_item->editlist_parts->[$pnum]{type} eq 'immutable' ) {
+
+ myvalue = myvalue + object.add<% "$key${n}_$pnum" %>.value
+
+% } else {
+
+ myvalue = myvalue + object.add<% "$key${n}_$pnum" %>.value
+ object.add<% "$key${n}_$pnum" %>.value = ""
+
+% }
+% }
+% } else {
+
+ myvalue = object.add<% "$key${n}_1" %>.value
+
+% }
+
+ var optionName = new Option(myvalue, myvalue);
+ var length = object.<% "$key$n" %>.length;
+ object.<% "$key$n" %>.options[length] = optionName;
+ }
+ </script>
+ <select multiple size=5 name="<% "$key$n" %>">
+ <option selected>----------------------------------------------------------------</option>