Mailing List Archive

svn commit: r1450690 - in /perl/embperl/trunk/Embperl/Form/Control: display.pm displaylink.pm dynlink.pm mult.pm
Author: richter
Date: Wed Feb 27 09:35:53 2013
New Revision: 1450690

URL: http://svn.apache.org/r1450690
Log:
Adapt Embperl::Form controls for extra data loading

Modified:
perl/embperl/trunk/Embperl/Form/Control/display.pm
perl/embperl/trunk/Embperl/Form/Control/displaylink.pm
perl/embperl/trunk/Embperl/Form/Control/dynlink.pm
perl/embperl/trunk/Embperl/Form/Control/mult.pm

Modified: perl/embperl/trunk/Embperl/Form/Control/display.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/display.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/display.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/display.pm Wed Feb 27 09:35:53 2013
@@ -39,7 +39,7 @@ my $value = exists $self->{value} ? $sel
$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
+$]<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 'readonly') } +] _ef_divname="[+$name+]">[$ 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>

Modified: perl/embperl/trunk/Embperl/Form/Control/displaylink.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/displaylink.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/displaylink.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/displaylink.pm Wed Feb 27 09:35:53 2013
@@ -71,7 +71,7 @@ $]
[$if $opens[$dispn] $]
<a href="#" class="[+ $state +]" onclick="if (this.className.search('ef-disabled') == -1) [+ $opens[$dispn] +][$if $hrefs[$dispn] $]('[+ $hrefs[$dispn] +]')[$endif$]" [.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
[$else$]
- <a href="[+ do {local $escmode=0;$hrefs[$dispn]} +]" class="[+ $state +]"
+ <a href="[+ do {local $escmode=0;$hrefs[$dispn]} +]" class="[+ $state +]"
[$if $targets -> [$dispn] $]target="[+ $targets -> [$dispn] +]"[$endif$]
[.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
[$endif$][$ if $showoptions < 0 $][.+ do { local $escmode = 0 ; $display } +][$else$][+ $showoptions?$display:$form -> convert_text ($self, $display) +][$endif$]</a>&nbsp;

Modified: perl/embperl/trunk/Embperl/Form/Control/dynlink.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/dynlink.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/dynlink.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/dynlink.pm Wed Feb 27 09:35:53 2013
@@ -55,6 +55,7 @@ $]
<div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +]>
[$ foreach $field (@$fields) $]
<a class="[+ $state +]" [.+ do { local $escmode = 0 ; $self -> {eventattrs} } +] _ef_attach="ef_dynlink"
+ _dyntext="[+ $field -> {dyntext} +]"
[$if $field -> {target} $]target="[+ $field -> {target} +]" [$endif$]
[$if $field -> {href} $]href="[.+ do { local $escmode = 0 ; $field -> {href} } +]" _hreforg="[.+ do { local $escmode = 0 ; $field -> {href} } +]" [$endif$]
[.+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
@@ -111,6 +112,10 @@ Name of the link

Text to display for the link

+=head4 dyntext
+
+Dynamic text to display for the link. Same replacements as for href take place.
+
=head4 href

Link destination

Modified: perl/embperl/trunk/Embperl/Form/Control/mult.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/mult.pm?rev=1450690&r1=1450689&r2=1450690&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/mult.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/mult.pm Wed Feb 27 09:35:53 2013
@@ -76,10 +76,17 @@ sub init_data
my $name = $self->{name} ;
my @entries = ref $fdat->{$name} eq 'ARRAY'?@{$fdat->{$name}}:split("\t",$fdat->{$name});

+ my $field = $self -> {fields}[0] ;
my $i = 0 ;
foreach my $entry (@entries)
{
$fdat->{"__${name}__$i"} = $entry ;
+ if ($field -> can ('init_data'))
+ {
+ local $field->{name} = "__${name}__$i" ;
+ local $field -> {fullid} = "$self->{fullid}__$i" ;
+ $field -> init_data ($req, $self) ;
+ }

$i++ ;
}
@@ -98,10 +105,18 @@ sub prepare_fdat
my $name = $self->{name} ;
my $max = $fdat->{"__${name}_max"} || 1 ;

+ my $field = $self -> {fields}[0] ;
my @rows;
my $val ;
for (my $i = 0; $i < $max; $i++)
{
+ if ((ref ($field) =~ /::/) && $field -> can ('prepare_fdat'))
+ {
+ local $field->{name} = "__${name}__$i" ;
+ local $field -> {fullid} = "$self->{fullid}__$i" ;
+ $field -> prepare_fdat ($req) ;
+ }
+
$val = $fdat->{"__${name}__$i"} ;
push @rows, $val if ($val ne '') ;
}
@@ -125,6 +140,26 @@ sub show_control_readonly { my $self = s

__EMBPERL__

+[.# ---------------------------------------------------------------------------
+#
+# show - output the whole control including the label
+#]
+
+[.$sub show ($self, $req)
+
+$fdat{$self -> {name}} = $self -> {default} if ($fdat{$self -> {name}} eq '' && exists ($self -> {default})) ;
+my $span = 0 ;
+
+$]<table class="ef-element ef-element-width-[+ $self -> {width_percent} +] ef-element-[+ $self -> {type} +] [+ $self -> {state} +]"
+ [$ if (!$self -> is_readonly($req) ) $]_ef_attach="ef_mult"[$endif$] >
+ <tr>
+ [.-
+ $span += $self -> show_label_cell ($req, $span);
+ $self -> show_control_cell ($req, $span) ;
+ -]
+ </tr>
+ </table>[$
+ endsub $]

[# ---------------------------------------------------------------------------
#
@@ -134,7 +169,7 @@ __EMBPERL__
[.$ sub show_control ($self, $req)

my $name = $self -> {name} ;
- my $max = $fdat{"__${name}_max"} ;
+ my $max = $fdat{"__${name}_max"} ||= 1 ;

my $span = ($self->{width_percent}) ;
my $nsprefix = $self -> form -> {jsnamespace} ;
@@ -154,7 +189,7 @@ $]
$fdat{$name} = $self -> {default} if ($fdat{$name} eq '' && exists ($self -> {default})) ;
my $span = 0 ;
-]
- <div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +] _ef_attach="ef_mult">
+ <div [.+ do { local $escmode = 0 ; $self -> get_std_control_attr($req) } +]>
<input type="hidden" class="ef-control-mult-max" name="__[+ $self -> {name} +]_max" >
<table class="ef-control-mult-table" >
[- $self -> show_grid_table ($req) ; -]
@@ -215,8 +250,8 @@ $]

$]
[$if (! $self -> is_readonly ($req)) $]
- <span class="ui-icon ui-icon-circle-plus ef-icon" class="ef-control-mult-add" title="Zeile Hinzuf&uuml;gen"></span>
- <span class="ui-icon ui-icon-circle-minus ef-icon" class="ef-control-mult-del" title="Zeile L&ouml;schen"></span>
+ <span class="ui-icon ui-icon-circle-plus ef-icon ef-control-mult-add" title="Zeile Hinzuf&uuml;gen"></span>
+ <span class="ui-icon ui-icon-circle-minus ef-icon ef-control-mult-del" title="Zeile L&ouml;schen"></span>

[$endif$]
[$endsub$]



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org