| Jifty documentation | Contained in the Jifty distribution. |
Jifty::Web::Form::Field::Textarea - Add a multiline text field to your forms
Provide rows and cols accessors, in addition to
Jifty::Web::Form::Field's default accessors.
Renders the textarea widget.
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;