Form::Factory::Feature::Role::InitializeControl - control features that work on just constructed controls


Form-Factory documentation Contained in the Form-Factory distribution.

Index


Code Index:

NAME

Top

Form::Factory::Feature::Role::InitializeControl - control features that work on just constructed controls

VERSION

Top

version 0.020

SYNOPSIS

Top

  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' }

DESCRIPTION

Top

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.

ROLE METHODS

Top

initialize_control

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.

AUTHOR

Top

Andrew Sterling Hanenkamp <hanenkamp@cpan.org>

COPYRIGHT AND LICENSE

Top


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;