| HTML-Widget documentation | Contained in the HTML-Widget distribution. |
HTML::Widget::BlockContainer - Block Container
A Container for Block elements. See HTML::Widget::Element::Block and HTML::Widget::Container.
Michael Gray, mjg@cpan.org
| HTML-Widget documentation | Contained in the HTML-Widget distribution. |
package HTML::Widget::BlockContainer; use warnings; use strict; use base 'HTML::Widget::Container'; use Carp qw/croak/; __PACKAGE__->mk_accessors(qw/content pre_content post_content wrap_sub/);
sub _build_element { my ( $self, $element ) = @_; return () unless $element; if ( ref $element eq 'ARRAY' ) { croak("Not expecting an array"); } my $wrap_sub = $self->wrap_sub || sub { return (@_); }; my $e = $element->clone; $e->push_content( @{ $self->pre_content } ) if $self->pre_content; $e->push_content( map { &$wrap_sub( $_->as_list ); } @{ $self->content } ); $e->push_content( @{ $self->post_content } ) if $self->post_content; if ( $self->label ) { my $l = $self->label->clone; $e = $l->push_content($e); } return ($e); }
1;