add package def option to show $0 recurring on invoices, RT#9777
[freeside.git] / httemplate / elements / input-text.html
1 <% $opt{'prefix'} %><INPUT TYPE  = "<% $opt{type} || 'text' %>"
2                            NAME  = "<% $opt{field} %>"
3                            ID    = "<% $opt{id} %>"
4                            VALUE = "<% $value |h %>"
5                            <% $size %>
6                            <% $maxlength %>
7                            <% $style %>
8                            <% $opt{disabled} %>
9                            <% $onchange %>
10                     ><% $opt{'postfix'} %>
11 <%init>
12
13 my %opt = @_;
14
15 my $value = length($opt{curr_value}) ? $opt{curr_value} : $opt{value};
16
17 my $onchange = $opt{'onchange'}
18                  ? join(' ', map $_.'="'. $opt{'onchange'}. '(this)"',
19                                  qw( onChange onKeyDown onKeyUp onKeyPress )
20                        )
21                  : '';
22
23 my $size = $opt{'size'}
24              ? 'SIZE="'. $opt{'size'}. '"'
25              : '';
26
27 my $maxlength = $opt{'maxlength'}
28                 ? 'MAXLENGTH="'. $opt{'maxlength'}. '"'
29                 : '';
30
31 $opt{'disabled'} = &{ $opt{'disabled'} }( \%opt )
32   if ref($opt{'disabled'}) eq 'CODE';
33 $opt{'disabled'} = 'DISABLED'
34   if $opt{'disabled'} && $opt{'disabled'} !~ /disabled/i; # uuh... yeah?
35
36 my @style = ref($opt{'style'})
37               ? @{ $opt{'style'} }
38               : $opt{'style'}
39                 ? ( $opt{'style'} )
40                 : ();
41
42 push @style, 'text-align: '. $opt{'text-align'}
43   if $opt{'text-align'};
44
45 push @style, 'background-color: #dddddd'
46   if $opt{'disabled'} && ! $opt{'nodarken_disabled'};
47
48 my $style = scalar(@style) ? 'STYLE="'. join(';', @style). '"' : '';
49
50 </%init>