Author: richter Date: Thu Aug 23 07:02:16 2012 New Revision: 1376392 URL: http://svn.apache.org/viewvc?rev=1376392&view=rev Log: Fix problems with nested controls
Modified: perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm perl/embperl/trunk/Embperl/Form/Control/grid.pm Modified: perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm?rev=1376392&r1=1376391&r2=1376392&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm Thu Aug 23 07:02:16 2012 @@ -32,7 +32,7 @@ sub create_ctrl my $fdat = ($req -> {form} && keys (%{$req -> {form}}) > 0)?$req -> {form}:\%Embperl::fdat ; my $id = $self -> {id} . $self -> {name} ; - #::dbg('create_control id = ', $id, ' name = ', $self -> {name}, ' value = ', $fdat -> {$self -> {name}}, $req -> {form}, \%Embperl::fdat, $fdat) ; + #::dbg('create_control id = ', $id, ' name = ', $self -> {name}, ' value = ', $fdat -> {$self -> {name}}) ; #, $req -> {form}, \%Embperl::fdat, $fdat) ; return $req -> {"dynctrl_$id"} if ($req -> {"dynctrl_$id"}) ; my $ctrl ; @@ -62,8 +62,11 @@ sub create_ctrl if ($attr ne 'ctrlattr' && $attr ne 'type' && !exists ($ctrl -> {$attr})) ; - } - + } + foreach my $attr (qw{name fullid id state}) + { + $ctrl -> {$attr} = $self -> {$attr} ; + } $ctrl -> {text} = $ctrl -> {textprefix} . $ctrl -> {text} if ($ctrl -> {textprefix}) ; my $form = $self -> form ; my $ctrlform = [$ctrl] ; Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1376392&r1=1376391&r2=1376392&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Thu Aug 23 07:02:16 2012 @@ -152,6 +152,7 @@ sub init_data if ($field -> can ('init_data')) { local $field->{name} = "__${name}_${j}_$i" ; + local $field -> {fullid} = "$self->{fullid}_${j}_$i" ; $field -> init_data ($req, $self) ; } $j++ ; @@ -211,6 +212,7 @@ sub prepare_fdat if ((ref ($field) =~ /::/) && $field -> can ('prepare_fdat')) { local $field->{name} = "__${name}_${j}_$i" ; + local $field -> {fullid} = "$self->{fullid}_${j}_$i" ; $field -> prepare_fdat ($req) ; } $ok++ ; @@ -428,6 +430,7 @@ $] <td class="cGridFooter cGridCellReadonly">[- local $field -> {name} = "__${name}_${j}_$i" ; local $field -> {state} = $self -> {state} ; + local $field -> {fullid} = "$self->{fullid}_${j}_$i" ; $field -> show_control_readonly ($req) if (!$field -> {nofooter}) ; $j++ ; -]</td> @@ -458,6 +461,7 @@ $] [$if $field -> is_hidden $][- local $field -> {name} = "__${name}_${j}_$i" ; local $field -> {state} = $self -> {state} ; + local $field -> {fullid} = "${id}_${j}_$i" ; $field -> show_control ($req) ; $j++ ; -][$else$] @@ -465,6 +469,7 @@ $] <td class="[+ $ro?'cGridCellReadonly':'cGridCell' +]" style="[$if($width = $field->{width})$]width: [+$width+];[$endif$]">[$if $n++ == 0$]<input type="hidden" name="[+ "__${name}_#row#_$i" +]" value="[+ $i +]">[$endif$][- local $field -> {name} = "__${name}_${j}_$i" ; local $field -> {state} = $self -> {state} ; + local $field -> {fullid} = "${id}_${j}_$i" ; if ($ro) { $field -> show_control_readonly ($req) @@ -486,6 +491,7 @@ $] <td colspan="[+ scalar(@$fields) +]" class="[+ $ro?'cGridCellReadonly':'cGridCell' +]">[$if $n++ == 0$]<input type="hidden" name="[+ "__${name}_#row#_$i" +]" value="[+ $i +]">[$endif$][- local $line2 -> {name} = "__${name}_${j}_$i" ; local $line2 -> {state} = $self -> {state} ; + local $field -> {fullid} = "${id}_${j}_$i" ; if ($ro) { $line2 -> show_control_readonly ($req) --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org For additional commands, e-mail: embperl-cvs-h...@perl.apache.org