Why not adopt me?
NAME
HTML::FormFu::Role::Element::Group - Role for grouped form fields
VERSION
version 2.07
DESCRIPTION
Base class for HTML::FormFu::Element::Checkboxgroup, HTML::FormFu::Element::Radiogroup, and HTML::FormFu::Element::Select fields.
METHODS
options
Arguments: none
Arguments: \@options
---
elements:
- type: Select
name: foo
options:
- [ 01, January ]
- [ 02, February ]
- value: 03
label: March
attributes:
style: highlighted
- [ 04, April ]
If passed no arguments, it returns an arrayref of the currently set options.
Use to set the list of items in the select menu / radiogroup.
Its arguments must be an array-ref of items. Each item may be an array ref of the form [ $value, $label ]
or a hash-ref of the form { value => $value, label => $label }
. Each hash-ref may also have an attributes
key.
Passing an item containing a group
key will, for Select fields, create an optgroup. And for Radiogroup fields or Checkboxgroup fields, create a sub-group of radiobuttons or checkboxes with a new span
block, with the classname subgroup
.
An example of Select optgroups:
---
elements:
- type: Select
name: foo
options:
- label: "group 1"
group:
- [1a, 'item 1a']
- [1b, 'item 1b']
- label: "group 2"
group:
- [2a, 'item 2a']
- [2b, 'item 2b']
When using the hash-ref construct, the label_xml
and label_loc
variants of label
are supported, as are the value_xml
and value_loc
variants of value
, the attributes_xml
variant of attributes
and the label_attributes_xml
variant of label_attributes
.
container_attributes
or container_attributes_xml
is used by HTML::FormFu::Element::Checkboxgroup and HTML::FormFu::Element::Radiogroup for the c<span> surrounding each item's input and label. It is ignored by HTML::FormFu::Element::Select elements.
label_attributes
/ label_attributes_xml
is used by HTML::FormFu::Element::Checkboxgroup and HTML::FormFu::Element::Radiogroup for the c<label> tag of each item. It is ignored by HTML::FormFu::Element::Select elements.
values
Arguments: \@values
---
elements:
- type: Radiogroup
name: foo
values:
- jan
- feb
- mar
- apr
A more concise alternative to "options". Use to set the list of values in the select menu / radiogroup.
Its arguments must be an array-ref of values. The labels used are the result of ucfirst($value)
.
value_range
Arguments: \@values
---
elements:
- type: Select
name: foo
value_range:
- ""
- 1
- 12
Similar to "values", but the last 2 values are expanded to a range. Any preceding values are used literally, allowing the common empty first item in select menus.
empty_first
If true, then a blank option will be inserted at the start of the option list (regardless of whether "options", "values" or "value_range" was used to populate the options). See also "empty_first_label".
empty_first_label
empty_first_label_xml
empty_first_label_loc
If "empty_first" is true, and "empty_first_label" is set, this value will be used as the label for the first option - so only the first option's value will be empty.
SEE ALSO
Is a sub-class of, and inherits methods from HTML::FormFu::Role::Element::Field, HTML::FormFu::Element
AUTHOR
Carl Franks, cfranks@cpan.org
LICENSE
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Carl Franks <cpan@fireartist.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018 by Carl Franks.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.