Jifty::Web::Form::Field::Textarea - Add a multiline text field to your forms


Jifty documentation Contained in the Jifty distribution.

Index


Code Index:

NAME

Top

Jifty::Web::Form::Field::Textarea - Add a multiline text field to your forms

METHODS

Top

accessors

Provide rows and cols accessors, in addition to Jifty::Web::Form::Field's default accessors.

render_widget

Renders the textarea widget.

handler_allowed HANDLER_NAME

Returns 1 if the handler (e.g. onclick) is allowed. Undef otherwise.


Jifty documentation Contained in the Jifty distribution.
use warnings;
use strict;
 
package Jifty::Web::Form::Field::Textarea;

use base qw/Jifty::Web::Form::Field/;

__PACKAGE__->mk_accessors(qw(rows cols));

sub accessors { shift->SUPER::accessors(), 'rows', 'cols' }

sub render_widget {
    my $self  = shift;
    my $field;
    $field .= qq!<textarea!;
    $field .= qq! name="@{[ $self->input_name ]}"!;
    $field .= qq! id="@{[ $self->element_id ]}"!;
    $field .= qq! title="@{[ $self->title ]}"! if ($self->title);
    $field .= qq! rows="@{[$self->rows || 5 ]}"!;
    $field .= qq! cols="@{[$self->cols || 60]}"!;
    $field .= $self->_widget_class;
    $field .= $self->javascript;
    $field .= qq! >!;
    $field .= Jifty->web->escape($self->current_value) if $self->current_value;
    $field .= qq!</textarea>\n!;
    Jifty->web->out($field);
    '';
}

sub handler_allowed {
    my $self = shift;
    my ($handler) = @_;

    return $self->SUPER::handler_allowed($handler) ||
           {onselect => 1}->{$handler};

}


1;