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 )