| Form::Factory::Feature::Role::InitializeControl - control features that work on just constructed controls |
Form::Factory::Feature::Role::InitializeControl - control features that work on just constructed controls
version 0.017
package MyApp::Feature::Control::LoadDBValue; use Moose;
with qw( Form::Factory::Feature Form::Factory::Feature::Role::Control Form::Factory::Feature::Role::InitializeControl );
sub check_control { my ($self, $control) = @_;
# nasty ducks and they typings
die "control action has no record"
unless $control->action->can('record');
}
sub initialize_control { my $self = shift; my $action = $self->action; my $control = $self->control;
my $name = $control->name;
my $record = $action->record;
# Set the default value from the record value
$control->default_value( $record->$name );
}
package Form::Factory::Feature::Control::Custom::LoadDatabaseValue; sub register_implementation { 'MyApp::Feature::Control::LoadDBValue' }
This role may be implemented by a control feature that needs to access a control and do something with it immediately after the control has been completely constructed.
The feature must implement the initialize_control method.
This method is called on the feature immediately after the control has been completely constructed. This method is called with no arguments and the return value is ignored.
Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
Copyright 2010 Qubling Software LLC.
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
| Form::Factory::Feature::Role::InitializeControl - control features that work on just constructed controls |