NAME

Form::Factory::Control::SelectMany - the multi-select control

VERSION

version 0.009

SYNOPSIS

  has_control pick_some => (
      control => 'select_many',
      options => {
          label => 'Just select some of these already...",
          available_choices => [
              Form::Factory::Control::Choice->new('one');
              Form::Factory::Control::Choice->new('two');
              Form::Factory::Control::Choice->new('three');
          ],
          default_selected_choices => [ qw( one three ) ],
      },
  );

DESCRIPTION

A select many can be displayed as a multi-select list box or a list of checkboxes.

This control implements Form::Factory::Control, Form::Factory::Control::Role::AvailableChoices, Form::Factory::Control::Role::Labeled, Form::Factory::Control::Role::ListValue.

ATTRIBUTES

default_value

This is a list of the default selection.

stashable_keys

The "selected_choices" are stashed.

METHODS

selected_choices

This is a synonym for value.

has_selected_choices

This is a synonyms for has_selected_choices.

default_selected_choices

This is a synonym for default_value.

has_default_selected_choices

This is a synonym for has_default_selected_choices.

current_value

Returns the "value", if set. Failing that, it returns the "default_value", if set. Failing that, it returns an empty list.

is_choice_selected

  for my $choice (@{ $self->available_choices }) {
      if ($control->is_choice_selected($choice)) {
          # ...
      }
  }

This is a helper that is useful while iterating over the available choices in deciding which have been selected.

AUTHOR

Andrew Sterling Hanenkamp <hanenkamp@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2009 Qubling Software LLC.

This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.