X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FPlugin%2FL.pm;h=f7ffc11b2d046493c957b99a5f90ee0cc46c4e22;hb=d13408232bfd23d718fee1bc76535196ff409880;hp=be4b0a65a239a621743cb47f65545320a4221c6b;hpb=442d43e323b0b6cc4bfb5ee322d6d3cc5f4030e8;p=kivitendo-erp.git diff --git a/SL/Template/Plugin/L.pm b/SL/Template/Plugin/L.pm index be4b0a65a..f7ffc11b2 100644 --- a/SL/Template/Plugin/L.pm +++ b/SL/Template/Plugin/L.pm @@ -282,7 +282,8 @@ sub date_tag { s/y+/\%Y/gi; } $::myconfig{"dateformat"}; - my $cal_align = delete $params{cal_align} || 'BR'; + my $cal_align = delete $params{cal_align} || 'BR'; + my $onchange = delete $params{onchange}; my $str_value = blessed $value ? $value->to_lxoffice : $value; $self->input_tag($name, $str_value, @@ -290,8 +291,11 @@ sub date_tag { size => 11, title => _H($::myconfig{dateformat}), onBlur => 'check_right_date_format(this)', + ($onchange ? ( + onChange => $onchange, + ) : ()), %params, - ) . ((!$params{no_cal}) ? + ) . ((!$params{no_cal} && !$params{readonly}) ? $self->html_tag('img', undef, src => 'image/calendar.png', alt => $::locale->text('Calendar'), @@ -417,12 +421,19 @@ sub areainput_tag { my ($self, $name, $value, @slurp) = @_; my %attributes = _hashify(@slurp); - my $rows = delete $attributes{rows} || 1; + my ($rows, $cols); my $min = delete $attributes{min_rows} || 1; + if (exists $attributes{cols}) { + $cols = delete $attributes{cols}; + $rows = $::form->numtextrows($value, $cols); + } else { + $rows = delete $attributes{rows} || 1; + } + return $rows > 1 - ? $self->textarea_tag($name, $value, %attributes, rows => max $rows, $min) - : $self->input_tag($name, $value, %attributes); + ? $self->textarea_tag($name, $value, %attributes, rows => max($rows, $min), ($cols ? (cols => $cols) : ())) + : $self->input_tag($name, $value, %attributes, ($cols ? (size => $cols) : ())); } sub multiselect2side { @@ -687,7 +698,8 @@ should be selected by default. =item C Creates a generic input tag or textarea tag, depending on content size. The -mount of desired rows must be given with C parameter, Accpeted parameters +amount of desired rows must be either given with the C parameter or can +be computed from the value and the C paramter, Accepted parameters include C for rendering a minimum of rows if a textarea is displayed. You can force input by setting rows to 1, and you can force textarea by setting