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
|
###################################################################################
#
# 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::display ;
use strict ;
use base 'Embperl::Form::Control' ;
use Embperl::Inline ;
1 ;
__EMBPERL__
[# ---------------------------------------------------------------------------
#
# show_control - output the control
#]
[$ sub show_control ($self, $req)
my $name = $self->{name};
my $id = $self->{id};
my $value = exists $self->{value} ? $self->{value} : $fdat{$name};
$value = [ split /\t/, $value ] if $self->{split};
$value = [ split /\n/, $value ] if $self->{splitlines};
$]<div [+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 'readonly') } +]>[$ if ref $value eq 'ARRAY' $][$ foreach $v (@$value) $][+ $v +]<br />[$ endforeach
$][$ elsif ref $value eq 'HASH' $][$ foreach $k (keys %$value) $][+ $k +]: [+ $value->{$k} +]<br />[$ endforeach
$][$ elsif ref $value $]<em>[+ ref $value +]</em>[$
else $][+ $value +][$ endif $]</div>
[$ if $self->{hidden} $]
<input type="hidden" name="[+ $name +]" value="[+ $value +]">
[$endif$]
[$endsub$]
__END__
=pod
=head1 NAME
Embperl::Form::Control::display - A text display control inside an Embperl Form
=head1 SYNOPSIS
{
type => 'display',
text => 'blabla',
hidden => 1,
name => 'foo',
split => 1
}
=head1 DESCRIPTION
Used to create a display only control inside an Embperl Form.
See Embperl::Form on how to specify parameters.
=head2 PARAMETER
=head3 type
Needs to be set to 'display'.
=head3 text
Will be used as label for the text display control.
=head3 value
value to display. If not given $fdat{<name>} will be used.
If the data given within value is an arrayref, every element will be displayed
on a separate line.
=head3 hidden
If set, an appropriate hidden input field will be created
automatically.
=head3 name
Will be used as name for the hidden input field.
=head3 split
Splits the value into an array at \t if set and displays every array element
on a new line.
=head3 splitlines
Splits the value into an array at \n if set and displays every array element
on a new line.
=head1 Author
G. Richter (richter at embperl dot org), A. Beckert (beckert@ecos.de)
=head1 See Also
perl(1), Embperl, Embperl::Form
|