/lib/HTML/FormHandler/Widget/Wrapper/SimpleInline.pm

http://github.com/gshank/html-formhandler · Perl · 45 lines · 40 code · 4 blank · 1 comment · 0 complexity · 76846c7f04a4d1f6910ba09b46e0fb0a MD5 · raw file

  1. package HTML::FormHandler::Widget::Wrapper::SimpleInline;
  2. # ABSTRACT: simple field wrapper
  3. use Moose::Role;
  4. use namespace::autoclean;
  5. with 'HTML::FormHandler::Widget::Wrapper::Base';
  6. =head1 SYNOPSIS
  7. This works like the Simple Wrapper, except it doesn't wrap Compound
  8. fields.
  9. =cut
  10. sub wrap_field {
  11. my ( $self, $result, $rendered_widget ) = @_;
  12. return $rendered_widget if $self->has_flag('is_compound');
  13. my $output = "\n";
  14. my $tag = $self->wrapper_tag;
  15. my $start_tag = $self->get_tag('wrapper_start');
  16. if( defined $start_tag ) {
  17. $output .= $start_tag;
  18. }
  19. else {
  20. $output .= "<$tag" . process_attrs( $self->wrapper_attributes($result) ) . ">";
  21. }
  22. if ( $self->do_label && length( $self->label ) > 0 ) {
  23. $output .= $self->do_render_label($result);
  24. }
  25. $output .= $rendered_widget;
  26. $output .= qq{\n<span class="error_message">$_</span>}
  27. for $result->all_errors;
  28. my $end_tag = $self->get_tag('wrapper_end');
  29. $output .= defined $end_tag ? $end_tag : "</$tag>";
  30. return "$output\n";
  31. }
  32. 1;