_set_id_attribute(\%attributes, $name);
$attributes{value} = 1 unless exists $attributes{value};
+ $attributes{id} .= '_' . $attributes{value};
my $label = delete $attributes{label};
if ($attributes{checked}) {
}
sub customer_picker {
- my ($self, $name, $value, %params) = @_;
+ my ($self, $name, $value, %params) = _hashify(3, @_);
my $name_e = _H($name);
$::request->{layout}->add_javascripts('autocomplete_customer.js');
# simple version with select_tag
sub vendor_selector {
- my ($self, $name, $value, %params) = @_;
+ my ($self, $name, $value, %params) = _hashify(3, @_);
my $actual_vendor_id = (defined $::form->{"$name"})? ((ref $::form->{"$name"}) ? $::form->{"$name"}->id : $::form->{"$name"}) :
(ref $value && $value->can('id')) ? $value->id : '';
# simple version with select_tag
sub part_selector {
- my ($self, $name, $value, %params) = @_;
+ my ($self, $name, $value, %params) = _hashify(3, @_);
my $actual_part_id = (defined $::form->{"$name"})? ((ref $::form->{"$name"})? $::form->{"$name"}->id : $::form->{"$name"}) :
(ref $value && $value->can('id')) ? $value->id : '';
sub areainput_tag {
my ($self, $name, $value, %attributes) = _hashify(3, @_);
- 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;
- }
+ my $cols = delete $attributes{cols} || delete $attributes{size};
+ my $minrows = delete $attributes{min_rows} || 1;
+ my $maxrows = delete $attributes{max_rows};
+ my $rows = $::form->numtextrows($value, $cols, $maxrows, $minrows);
return $rows > 1
- ? $self->textarea_tag($name, $value, %attributes, rows => max($rows, $min), ($cols ? (cols => $cols) : ()))
- : $self->input_tag($name, $value, %attributes, ($cols ? (size => $cols) : ()));
+ ? $self->textarea_tag($name, $value, %attributes, rows => $rows, cols => $cols)
+ : $self->input_tag($name, $value, %attributes, size => $cols);
}
sub multiselect2side {