File: textarea.pm

package info (click to toggle)
libembperl-perl 2.5.0~rc3-1~bpo70%2B1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy-backports
  • size: 5,800 kB
  • sloc: ansic: 21,228; perl: 13,985; cpp: 467; xml: 49; makefile: 27; sh: 24
file content (126 lines) | stat: -rwxr-xr-x 2,703 bytes parent folder | download
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