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_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 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.03