HTML-FormFu

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

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

MANIFEST  view on Meta::CPAN

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 1.399 second using v1.01-cache-2.11-cpan-8dfa8b56332 )