Form::Sensible::Field::Trigger - A Trigger for user activity


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

Index


Code Index:

NAME

Top

Form::Sensible::Field::Trigger - A Trigger for user activity

SYNOPSIS

Top

    use Form::Sensible::Field::Trigger;

    my $textfield = Form::Sensible::Field::Trigger->new(
                                                    name => 'submit',
                                                  );

DESCRIPTION

Top

Triggers cause something to happen, most often form validation and processing. Trigger fields are most often rendered as buttons in graphical interfaces, such as Submit and Reset buttons in HTML.

NOTE We are still investigating ways to handle Triggers in a flexible and render-independant way. That means aside from simple usage, Trigger fields are likely to change.

HTML based rendering of triggers

As with all fields, trigger rendering is primarily controlled by render_hints. By default a trigger is rendered as a 'submit' button. If you provide a render_as element in the render_hints, you can control how a trigger is rendered. The options are: reset, button and link. reset renders the trigger as a reset button. button renders the trigger as a button input element. link renders it as a regular HTML link. If render_as = 'link'> is specified you must also provide a link element in the render_hints to set the destination of the link.

AUTHOR

Top

Jay Kuri - <jayk@cpan.org>

SPONSORED BY

Top

SEE ALSO

Top

Form::Sensible

LICENSE

Top

Copyright 2009 by Jay Kuri <jayk@cpan.org>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


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

package Form::Sensible::Field::Trigger;

use Moose; 
use namespace::autoclean;
extends 'Form::Sensible::Field';

## provides an action trigger

## always has an activation trigger, even if it does nothing.

has 'event_to_trigger' => (
    is          => 'rw',
    isa         => 'Str',
    required    => 1,
    builder     => '_default_event_name',
    lazy        => 1,
);

sub _default_event_name {
    my ($self) = @_;
    
    return $self->name . "_triggered";
}


sub get_additional_configuration {
    my $self = shift;
    
    return { 
                'event_to_trigger' => $self->event_to_trigger,
           };

}

__PACKAGE__->meta->make_immutable;
1;

__END__