HTML-FormFu
view release on metacpan or search on metacpan
t/elements/button.t
t/elements/button_no_name.t
t/elements/checkbox.t
t/elements/checkbox_force_default.t
t/elements/checkbox_retain_default.t
t/elements/checkbox_reverse.t
t/elements/checkbox_reverse.yml
t/elements/checkboxgroup.t
t/elements/checkboxgroup_attributes_escaped.t
t/elements/checkboxgroup_attributes_escaped.yml
t/elements/combobox.t
t/elements/combobox.yml
t/elements/combobox_repeatable.t
t/elements/combobox_repeatable.yml
t/elements/combobox_required.t
t/elements/combobox_required.yml
t/elements/content_button.t
t/elements/date.t
t/elements/date_default.t
t/elements/date_default_datetime_args.t
t/elements/date_default_datetime_args.yml
t/elements/date_default_empty.t
t/elements/date_month_year.t
t/elements/date_natural.t
t/elements/date_order.t
t/elements/date_order_error.t
t/nested/element_name.t
t/nested/element_name.yml
t/nested/elements/block_repeatable_multi_named.t
t/nested/elements/block_repeatable_multi_named.yml
t/nested/elements/block_repeatable_multi_named_filter.t
t/nested/elements/block_repeatable_multi_named_filter.yml
t/nested/elements/block_without_name.t
t/nested/elements/block_without_name.yml
t/nested/elements/checkbox_force_default.t
t/nested/elements/checkbox_retain_default.t
t/nested/elements/combobox.t
t/nested/elements/date.t
t/nested/elements/multi.t
t/nested/elements/multi_named.t
t/nested/elements/radio.t
t/nested/elements/radio_force_default.t
t/nested/elements/radio_retain_default.t
t/nested/elements/radiogroup.t
t/nested/elements/radiogroup_force_default.t
t/nested/elements/radiogroup_retain_default.t
t/nested/elements/repeatable_repeatable.t
lib/HTML/FormFu/Element/ComboBox.pm view on Meta::CPAN
sub value {
my ( $self, $value ) = @_;
if ( @_ > 1 ) {
$self->{value} = $value;
# if we're already built - i.e. process() has been called,
# call default() on our children
if ( @{ $self->_elements } ) {
$self->_combobox_defaults;
$self->_elements->[0]->default( $self->select->{default} );
$self->_elements->[1]->default( $self->text->{default} );
}
return $self;
}
return $self->{value};
}
sub _add_elements {
my ($self) = @_;
$self->_elements( [] );
$self->_add_select;
$self->_add_text;
$self->_combobox_defaults;
return;
}
sub _combobox_defaults {
my ($self) = @_;
if ( defined( my $default = $self->default ) ) {
if ( !$self->form->submitted || $self->render_processed_value ) {
for my $deflator ( @{ $self->_deflators } ) {
$default = $deflator->process($default);
}
}
t/elements/combobox.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 9;
use HTML::FormFu;
my $form = HTML::FormFu->new(
{ tt_args => { INCLUDE_PATH => 'share/templates/tt/xhtml' } } );
$form->load_config_file('t/elements/combobox.yml');
{
$form->process;
is( $form->get_element( { type => 'ComboBox' } ),
qq{<div>
<span class="elements">
<select name="combo_select">
<option value=""></option>
<option value="one">One</option>
t/elements/combobox_repeatable.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 5;
use HTML::FormFu;
my $form = HTML::FormFu->new(
{ tt_args => { INCLUDE_PATH => 'share/templates/tt/xhtml' } } );
$form->load_config_file('t/elements/combobox_repeatable.yml');
# repeatable
{
my $container = $form->get_all_element('container');
$form->process(
{ count => 3,
combo_1_select => 'one',
combo_2_select => 'two',
combo_3_select => 'three',
t/elements/combobox_required.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 6;
use HTML::FormFu;
my $form = HTML::FormFu->new(
{ tt_args => { INCLUDE_PATH => 'share/templates/tt/xhtml' } } );
$form->load_config_file('t/elements/combobox_required.yml');
# valid select value
{
$form->process(
{ combo_select => 'one',
combo_text => '',
} );
ok( $form->submitted_and_valid );
( run in 0.904 second using v1.01-cache-2.11-cpan-8dfa8b56332 )