1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
package HTML::FormFu::Role::Element::NonBlock;
use Moose::Role;
use HTML::FormFu::Util qw( process_attrs );
has tag => ( is => 'rw', traits => ['Chained'] );
after BUILD => sub {
my $self = shift;
$self->filename('non_block');
return;
};
around render_data_non_recursive => sub {
my ( $orig, $self, $args ) = @_;
my $render = $self->$orig( {
tag => $self->tag,
$args ? %$args : (),
} );
return $render;
};
sub string {
my ( $self, $args ) = @_;
$args ||= {};
my $render
= exists $args->{render_data}
? $args->{render_data}
: $self->render_data;
# non_block template
my $html = sprintf "<%s%s />",
$render->{tag},
process_attrs( $render->{attributes} ),
;
return $html;
}
1;
__END__
=head1 NAME
HTML::FormFu::Element::_NonBlock - base class for single-tag elements
=head1 DESCRIPTION
Base class for single-tag elements.
=head1 METHODS
=head2 tag
=head1 SEE ALSO
Is a sub-class of, and inherits methods from L<HTML::FormFu::Element>
L<HTML::FormFu>
=head1 AUTHOR
Carl Franks, C<cfranks@cpan.org>
=head1 LICENSE
This library is free software, you can redistribute it and/or modify it under
the same terms as Perl itself.
=cut
|