Data-MuForm

 view release on metacpan or  search on metacpan

lib/Data/MuForm/Field.pm  view on Meta::CPAN

package Data::MuForm::Field;
# ABSTRACT: Base field package
use Moo;
use Types::Standard -types;
use Try::Tiny;
use Scalar::Util ('blessed', 'weaken');
use Data::Clone ('data_clone');
use Data::MuForm::Localizer;
use Data::MuForm::Merge ('merge');
with 'Data::MuForm::Common';

has 'name' => ( is => 'rw', required => 1 );
has 'id' => ( is => 'rw', lazy => 1, builder => 'build_id' );
sub build_id {
   my $self = shift;
   if ( my $meth = $self->get_method('build_id') ) {

lib/Data/MuForm/Field.pm  view on Meta::CPAN

  munge_field_attr(\%field_attr);

  return $class->$orig(%field_attr);
};


sub BUILD {
    my $self = shift;

    if ( $self->form ) {
        # To avoid memory cycles it needs to be weakened when
        # it's set through a form.
        weaken($self->{localizer});
        weaken($self->{renderer});
    }
    else {
        # Vivify. This would generally only happen in a standalone field, in tests.
        $self->localizer;
        $self->renderer;
    }

    $self->_install_methods;
}

lib/Data/MuForm/Renderer/Base.pm  view on Meta::CPAN

package Data::MuForm::Renderer::Base;
# ABSTRACT: Renderer

use Moo;
use List::Util ('any');
use Scalar::Util ('weaken');


has 'form' => ( is => 'ro', weak_ref => 1 );

has 'localizer' => ( is => 'ro' );

has 'standard_layout' => ( is => 'rw', default => 'lbl_ele_err' );

has 'cb_layout' => ( is => 'rw', default => 'cbwrlr' );

lib/Data/MuForm/Renderer/Base.pm  view on Meta::CPAN


has 'error_class' => ( is => 'rw', default => 'error_message' );

has 'render_element_errors' => ( is => 'rw', default => 0 );

has 'is_html5' => ( is => 'rw', default => 0 );

sub BUILD {
    my $self = shift;
    if ( $self->form ) {
        weaken($self->{localizer});
    }
}

sub render_hook {
    my $self = shift;
    return $self->form->render_hook($self, @_);
}


sub localize {



( run in 1.161 second using v1.01-cache-2.11-cpan-65fba6d93b7 )