use warnings;
use strict;
package Jifty::Web::Form::Field::Select;
use base qw/Jifty::Web::Form::Field/;
=head1 NAME
Jifty::Web::Form::Field::Select - Add a list/popup menu control to your forms
=head1 METHODS
=head2 render_widget
Renders the select widget.
=cut
sub _render_select_begin {
my $self = shift;
my $rendered = qq! \n!;
}
sub render_widget {
my $self = shift;
my $field = $self->_render_select_begin;
$field .= $self->_render_select_values;
$field .= $self->_render_select_end;
Jifty->web->out($field);
'';
}
=head2 render_value
Rather than rendering the "key" side of our value for this field, render
what would actually display to the user in the select-box
=cut
sub render_value {
my $self = shift;
my $field = ' !;
my $value = $self->current_value;
if(defined $value) {
my @value = grep { $_->{value} eq $value } $self->available_values;
$value = $value[0]->{display} if scalar @value;
}
$field .= Jifty->web->escape(_($value)) if defined $value;
$field .= qq!\n!;
Jifty->web->out($field);
return '';
}
1;