event refactor, landing on HEAD!
[freeside.git] / httemplate / elements / tr-select.html
diff --git a/httemplate/elements/tr-select.html b/httemplate/elements/tr-select.html
new file mode 100644 (file)
index 0000000..07b0a01
--- /dev/null
@@ -0,0 +1,61 @@
+<% include('tr-td-label.html', @_ ) %>
+
+  <TD <% $style %>>
+
+    <SELECT NAME          = "<% $opt{field} %>"
+            ID            = "<% $opt{id} %>"
+            previousValue = "<% $curr_value %>"
+            previousText  = "<% $labels->{$curr_value} || $curr_value %>"
+            <% $onchange %>
+    >
+
+%   if ( $opt{options} ) {
+%
+%     foreach my $option ( @{ $opt{options} } ) { #just arrayref for now
+
+        <OPTION VALUE="<% $option %>"
+                <% $opt{curr_value} eq $option ? 'SELECTED' : '' %>
+        >
+          <% $labels->{$option} || $option %>
+        </OPTION>
+
+%     }
+%
+%   } else { #deprecated weird value hashref used only by reason.html
+%
+%     my $aref = $opt{'value'}->{'values'};
+%     my $vkey = $opt{'value'}->{'vcolumn'};
+%     my $ckey = $opt{'value'}->{'ccolumn'};
+%     foreach my $v (@$aref) {
+
+        <OPTION VALUE="<% $v->$vkey %>"
+                <% ($opt{curr_value} eq $v->$vkey) ? 'SELECTED' : '' %>
+        >
+          <% $v->$ckey %>
+        </OPTION>
+
+%     }
+%
+%   }
+
+    </SELECT>
+
+  </TD>
+
+</TR>
+
+<%init>
+
+my %opt = @_;
+
+my $onchange = $opt{'onchange'}
+                 ? 'onChange="'. $opt{'onchange'}. '(this)"'
+                 : '';
+
+my $labels = $opt{'option_labels'} || $opt{'labels'};
+
+my $style = $opt{'cell_style'} ? 'STYLE="'. $opt{'cell_style'}. '"' : '';
+
+my $curr_value = $opt{'curr_value'};
+
+</%init>