| Form-Factory documentation | Contained in the Form-Factory distribution. |
Form::Factory::Feature::Role::InitializeControl - control features that work on just constructed controls
version 0.020
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 documentation | Contained in the Form-Factory distribution. |
package Form::Factory::Feature::Role::InitializeControl; BEGIN { $Form::Factory::Feature::Role::InitializeControl::VERSION = '0.020'; } use Moose::Role; requires qw( initialize_control );
1;