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