From a7bab44db3e8f4549090db94d891127673fe41da Mon Sep 17 00:00:00 2001 From: Alastair Douglas Date: Thu, 1 Nov 2018 12:02:06 +0000 Subject: [PATCH] Create `render_start` and `render_end` for Blocks Simple fix for #149 --- lib/HTML/FormHandler/Widget/Block.pm | 31 ++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/lib/HTML/FormHandler/Widget/Block.pm b/lib/HTML/FormHandler/Widget/Block.pm index 17b4163a..b36dc082 100644 --- a/lib/HTML/FormHandler/Widget/Block.pm +++ b/lib/HTML/FormHandler/Widget/Block.pm @@ -127,15 +127,8 @@ sub render { my ( $self, $result ) = @_; $result ||= $self->form->result; - my $start_wrapper = ''; - my $end_wrapper = ''; - if( $self->wrapper ) { - my $tag = $self->tag; - # create attribute string - my $attr_str = $self->render_attribute_string; - $start_wrapper = qq{<$tag$attr_str>}; - $end_wrapper = qq{}; - } + my $start_wrapper = $self->render_start; + my $end_wrapper = $self->render_end; # get rendering of contained fields, if any my $rendered_fb = $self->render_from_list($result); @@ -149,6 +142,26 @@ sub render { } +sub render_start { + my $self = shift; + if( $self->wrapper ) { + my $tag = $self->tag; + # create attribute string + my $attr_str = $self->render_attribute_string; + return qq{<$tag$attr_str>}; + } + return ''; +} + +sub render_end { + my $self = shift; + if( $self->wrapper ) { + my $tag = $self->tag; + return qq{}; + } + return ''; +} + sub render_attribute_string { my $self = shift; my $attr = { %{ $self->attr } };