117 |
|
|
118 |
my $form_id = $self->form_id; |
my $form_id = $self->form_id; |
119 |
my $max_value_len = 0; |
my $max_value_len = 0; |
120 |
|
my $form_value_len = $self->class->form_value_len if $self->class->can('form_value_len'); |
121 |
my @values; |
my @values; |
122 |
my $display; |
my $display; |
123 |
my $html = ''; |
my $html = ''; |
132 |
$max_value_len = length($v) if length($v) > $max_value_len; |
$max_value_len = length($v) if length($v) > $max_value_len; |
133 |
} |
} |
134 |
|
|
135 |
|
if ( my $l = $form_value_len->{$name} ) { |
136 |
|
$max_value_len = $l if $l > $max_value_len; |
137 |
|
} |
138 |
|
|
139 |
warn "# max_value_len: $max_value_len"; |
warn "# max_value_len: $max_value_len"; |
140 |
#my $render = eval $class . '->render_' . $name; |
#my $render = eval $class . '->render_' . $name; |
141 |
my $call = 'render_' . $name; |
my $call = 'render_' . $name; |
259 |
$attr->has_default ? $attr->default( $name ) : |
$attr->has_default ? $attr->default( $name ) : |
260 |
undef; |
undef; |
261 |
|
|
262 |
if ( ref($params_config) eq 'HASH' && defined $params_config->{$name} ) { |
if ( defined $params_config && ref($params_config) eq 'HASH' && defined $params_config->{$name} ) { |
263 |
$value = $params_config->{$name}; |
$value = $params_config->{$name}; |
264 |
} elsif ( ref($params_config) eq 'ARRAY' ) { |
} elsif ( ref($params_config) eq 'ARRAY' ) { |
265 |
$value_html = $self->select_values( $name, $attr_type, $params_config ); |
$value_html = $self->select_values( $name, $attr_type, $params_config ); |
286 |
|
|
287 |
$label_title = qq| title="| . $attr->documentation . qq|"| if $attr->has_documentation; |
$label_title = qq| title="| . $attr->documentation . qq|"| if $attr->has_documentation; |
288 |
|
|
289 |
|
my $value_size = ''; |
290 |
|
|
291 |
$default->{$name} = $value unless defined $default->{$name}; |
$default->{$name} = $value unless defined $default->{$name}; |
292 |
|
|
293 |
my $size = ( int( length($value) / $self->input_step_size ) + 1 ) * $self->input_step_size; |
if ( ! $value_html ) { # fallback to default input type=text |
294 |
$value_html = qq|<input type="$type" name="$name" title="$attr_type" value="$value" size="$size">| unless $value_html; |
|
295 |
|
my $form_value_len = $self->class->form_value_len->{$name} if $self->class->can('form_value_len'); |
296 |
|
$form_value_len = length($value) if length($value) > $form_value_len; |
297 |
|
|
298 |
|
my $size = ( int( $form_value_len / ( $self->input_step_size * 1.5 ) ) + 1 ) * $self->input_step_size if $form_value_len; |
299 |
|
$value = qq|value="$value"| if defined $value; |
300 |
|
$size = qq|size="$size"| if $size; |
301 |
|
$value_html = qq|<input type="$type" name="$name" title="$attr_type" $value $size>| unless $value_html; |
302 |
|
|
303 |
|
} |
304 |
|
|
305 |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
306 |
|
|
363 |
label.required { |
label.required { |
364 |
font-weight: bold; |
font-weight: bold; |
365 |
} |
} |
366 |
|
|
367 |
|
input, |
368 |
|
select { |
369 |
|
margin-right: -${label_width}ex; |
370 |
|
} |
371 |
input.required, |
input.required, |
372 |
select.required { |
select.required { |
373 |
border-color: #c00; |
border-color: #c00; |
423 |
}, |
}, |
424 |
}); |
}); |
425 |
|
|
426 |
$self->title( $self->class->title ) if $self->class->title; |
if ( $self->class->can('title') ) { |
427 |
|
my $title = eval { |
428 |
|
$self->class->title; |
429 |
|
}; |
430 |
|
$self->title( $title ) if defined $title && ! $@; |
431 |
|
} |
432 |
|
|
433 |
return ($html,$default) if wantarray; |
return ($html,$default) if wantarray; |
434 |
return $html; |
return $html; |