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-unsubscr...@perl.apache.org
For additional commands, e-mail: embperl-cvs-h...@perl.apache.org

Reply via email to