1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
###################################################################################
#
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
#
# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id$
#
###################################################################################
package Embperl::Form::Control::textarea ;
use strict ;
use base 'Embperl::Form::Control' ;
use Embperl::Inline ;
1 ;
__EMBPERL__
[# ---------------------------------------------------------------------------
#
# show_control - output the control
#]
[$ sub show_control ($self, $req)
my $class = $self -> {class} ||= '' ;
my ($attrs, $ctrlid, $name) = $self -> get_std_control_attr($req) ;
$]
<textarea type="text" name="[+ $self -> {force_name} || $self -> {name} +]" [+ do { local $escmode = 0 ; $attrs} +]
[# [$if $self -> {cols} $]cols="[+ $self->{cols} +]"[$endif$] #]
[$if $self -> {rows} $]rows="[+ $self->{rows} +]"[$endif$]
></textarea>
[* return $ctrlid ; *]
[$endsub$]
[# ---------------------------------------------------------------------------
#
# show_control_readonly - output the control as readonly
#]
[$ sub show_control_readonly ($self, $req, $value, $class) $]
[-
$value //= $fdat{$self -> {name}} ;
$value =~ s/\s*$// ;
$value =~ s/^\s*// ;
@value = split (/\n/, $value) ;
$i = 0 ;
-][$ foreach my $val (@value) $]
[$ if $val =~ /^\s*$/ $]<br>[$else$]
[- $self -> SUPER::show_control_readonly ($req, $val, $class) -][# $ if ($i < @value - 1) $]<br>[$endif$ #]
[$endif$]
[$endforeach$]
[$endsub$]
__END__
=pod
=head1 NAME
Embperl::Form::Control::textarea - A textarea input control inside an Embperl Form
=head1 SYNOPSIS
{
type => 'textarea',
text => 'blabla',
name => 'foo',
id => 'id_foo',
rows => 10,
cols => 80,
}
=head1 DESCRIPTION
Used to create an input control inside an Embperl Form.
See Embperl::Form on how to specify parameters.
=head2 PARAMETER
=head3 type
Needs to be 'textarea'
=head3 text
Will be used as label for the text input control
=head3 name
Will be used as field name for the text input control
=head3 name
Will be used as id of the text input control
=head3 cols
Number of columns
=head3 rows
Number of rows
=head1 Author
G. Richter (richter at embperl dot org)
=head1 See Also
perl(1), Embperl, Embperl::Form
|