NAME
Data::HTML::Button - Data object for HTML button element.
SYNOPSIS
use Data::HTML::Button;
my $obj = Data::HTML::Button->new(%params);
my $autofocus = $obj->autofocus;
my $css_class = $obj->css_class;
my $data = $obj->data;
my $data_type = $obj->data_type;
my $disabled = $obj->disabled;
my $form = $obj->form;
my $form_enctype = $obj->form_enctype;
my $form_method = $obj->form_method;
my $id = $obj->id;
my $label = $obj->label;
my $name = $obj->name;
my $type = $obj->type;
my $value = $obj->value;
METHODS
"new"
my $obj = Data::HTML::Button->new(%params);
Constructor.
Returns instance of object.
* "autofocus"
Button autofocus flag.
Default value is 0.
* "css_class"
Button CSS class.
Default value is undef.
* "data"
Button data content. It's reference to array. Data type of data
is described in 'data_type' parameter.
Default value is [].
* "data_type"
Button data type for content.
Possible value are: plain tags
Default value is 'plain'.
* "disabled"
Button autofocus flag.
Default value is 0.
* "form"
Button form id.
Default value is undef.
* "form_enctype"
Button form encoding. It's valuable for 'submit' type.
Possible values are: application/x-www-form-urlencoded
multipart/form-data text/plain
Default value is undef.
* "form_method"
Button form method. It's valuable for 'submit' type.
Possible values are: get post
Default value is 'get'.
* "id"
Button identifier.
Default value is undef.
* "label"
Button label.
Default value is undef.
* "name"
Button name.
Default value is undef.
* "type"
Button element type.
Possible types: button reset submit
Default value is 'button'.
* "value"
Button value.
Default value is undef.
"autofocus"
my $autofocus = $obj->autofocus;
Get button autofocus flag.
Returns bool value (1/0).
"css_class"
my $css_class = $obj->css_class;
Get CSS class for button.
Returns string.
"data"
my $data = $obj->data;
Get data inside button element.
Returns reference to array.
"data_type"
my $data_type = $obj->data_type;
Get button data type.
Returns string.
"disabled"
my $disabled = $obj->disabled;
Get button disabled flag.
Returns bool value (1/0).
"form"
my $form = $obj->form;
Get button form id.
Returns string.
"form_enctype"
my $form_enctype = $obj->form_enctype;
Get button form enctype.
Returns string.
"form_method"
my $form_method = $obj->form_method;
Get button form method.
Returns string.
"id"
my $id = $obj->id;
Get button identifier.
Returns string.
"label"
my $label = $obj->label;
Get button label.
Returns string.
"name"
my $name = $obj->name;
Get button name.
Returns string.
"type"
my $type = $obj->type;
Get button type.
Returns string.
"value"
my $value = $obj->value;
Get button value.
Returns string.
ERRORS
new():
Parameter 'autofocus' must be a bool (0/1).
Value: %s
Parameter 'data' must be a array.
Value: %s
Reference: %s
Parameter 'data' in 'plain' mode must contain reference to array with scalars.
Parameter 'data' in 'tags' mode must contain reference to array with references to array with Tags structure.
Parameter 'data_type' has bad value.
Parameter 'disabled' must be a bool (0/1).
Value: %s
Parameter 'form_enctype' has bad value.
Value: %s
Parameter 'form_method' has bad value.
Parameter 'type' has bad value.
EXAMPLE1
use strict;
use warnings;
use Data::HTML::Button;
my $obj = Data::HTML::Button->new;
# Print out.
print 'Data type: '.$obj->data_type."\n";
print 'Form method: '.$obj->form_method."\n";
print 'Type: '.$obj->type."\n";
# Output:
# Data type: plain
# Form method: get
# Type: button
EXAMPLE2
use strict;
use warnings;
use Data::HTML::Button;
use Tags::Output::Raw;
my $obj = Data::HTML::Button->new(
# Tags(3pm) structure.
'data' => [
['b', 'span'],
['d', 'Button'],
['e', 'span'],
],
'data_type' => 'tags',
);
my $tags = Tags::Output::Raw->new;
# Serialize data to output.
$tags->put(@{$obj->data});
my $data = $tags->flush(1);
# Print out.
print 'Data (serialized): '.$data."\n";
print 'Data type: '.$obj->data_type."\n";
print 'Form method: '.$obj->form_method."\n";
print 'Type: '.$obj->type."\n";
# Output:
# Data (serialized): Button
# Data type: tags
# Form method: get
# Type: button
EXAMPLE3
use strict;
use warnings;
use Data::HTML::Button;
my $obj = Data::HTML::Button->new(
# Plain content.
'data' => [
'Button',
],
'data_type' => 'plain',
);
# Serialize data to output.
my $data = join ' ', @{$obj->data};
# Print out.
print 'Data: '.$data."\n";
print 'Data type: '.$obj->data_type."\n";
print 'Form method: '.$obj->form_method."\n";
print 'Type: '.$obj->type."\n";
# Output:
# Data: Button
# Data type: plain
# Form method: get
# Type: button
DEPENDENCIES
Error::Pure, List::Util, Mo, Mo::utils, Readonly.
REPOSITORY
AUTHOR
Michal Josef Špaček
LICENSE AND COPYRIGHT
© 2022-2023 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.05