Author: richter
Date: Wed Mar 7 08:20:45 2012
New Revision: 1297873
URL: http://svn.apache.org/viewvc?rev=1297873&view=rev
Log:
Allow hidden fields inside a grid control
Modified:
perl/embperl/trunk/Embperl/Form/Control/grid.pm
perl/embperl/trunk/Embperl/Form/Control/hidden.pm
Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1297873&r1=1297872&r2=1297873&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Wed Mar 7 08:20:45 2012
@@ -108,9 +108,14 @@ sub init_data
my $j ;
my $col ;
my $colval ;
+ my @rowclass ;
foreach my $entry (@entries)
{
$data = ref $entry eq 'ARRAY'?$entry:[$ldap?ecos::LdapBase ->
splitAttrValue($entry):$entry];
+ if (ref $self -> {rowclass} eq 'CODE')
+ {
+ $rowclass[$i] = &{$self -> {rowclass}}($data, $self) ;
+ }
my $co = $coloffset ;
shift @$data while ($co-- > 0) ;
$j = 0 ;
@@ -136,6 +141,7 @@ sub init_data
$i++ ;
}
$fdat->{"__${name}_max"} = $i?$i:1;
+ $self -> {rowclasses} = \@rowclass ;
}
#
------------------------------------------------------------------------------------------
@@ -320,6 +326,7 @@ $]
<thead>
<tr class="cGridHeader">
[$ foreach my $field (@$fields) $]
+ [* next if ($field -> is_hidden ) ; *]
<td class="cGridHeader" [$if($width =
$field->{width})$]width="[+$width+]"[$endif$] _colattr="[+ $field->{name}
+]">[+ $self -> form -> convert_label ($self, $field->{name}, $field->{text})
+]</td>
[$ endforeach $]
</tr>
@@ -341,7 +348,8 @@ $]
<tfoot>
<tr class="cGridFooter">
- [$ foreach my $field (@$fields) $]
+ [$ foreach my $field (@$fields) $]
+ [* next if ($field -> is_hidden ) ; *]
<td class="cGridFooter cGridCellReadonly">[-
local $field -> {name} = "__${name}_${j}_$i" ;
$field -> show_control_readonly ($req) if
(!$field -> {nofooter}) ;
@@ -369,8 +377,13 @@ $]
my $j = 0 ;
$]
- <tr class="cGridRow" id="[+ "$id-row-$i" +]">
+ <tr class="cGridRow [+ $self -> {rowclasses}[$i] +]" id="[+ "$id-row-$i"
+]">
[$foreach $field (@$fields)$]
+ [$if $field -> is_hidden $][-
+ local $field -> {name} = "__${name}_${j}_$i" ;
+ $field -> show_control ($req) ;
+ $j++ ;
+ -][$else$]
[- $ro = $gridro || $field -> is_readonly () ; -]
<td class="[+ $ro?'cGridCellReadonly':'cGridCell' +]" [$if
$field->{width}$]style="width: [+ $field->{width} +]"[$endif$]>[$if $n++ ==
0$]<input type="hidden" name="[+ "__${name}_#row#_$i" +]" value="[+ $i
+]">[$endif$][-
local $field -> {name} = "__${name}_${j}_$i" ;
@@ -384,6 +397,7 @@ $]
}
$j++ ;
-]</td>
+ [$endif$]
[$endforeach$]
</tr>
[$if $line2 $]
Modified: perl/embperl/trunk/Embperl/Form/Control/hidden.pm
URL:
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/hidden.pm?rev=1297873&r1=1297872&r2=1297873&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/hidden.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/hidden.pm Wed Mar 7 08:20:45 2012
@@ -35,6 +35,8 @@ sub is_hidden
return 1 ;
}
+sub show_control { show (@_) ; }
+sub show_control_readonly { show (@_) ; }
1 ;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]