Parent Directory | Revision Log | Patch
--- perl/embperl/trunk/Embperl/Form/Control/radio.pm 2005/12/23 14:13:36 358806 +++ perl/embperl/trunk/Embperl/Form/Control/radio.pm 2005/12/23 14:16:19 358807 @@ -17,11 +17,23 @@ package Embperl::Form::Control::radio ; use strict ; +use vars qw{%fdat} ; use base 'Embperl::Form::ControlMultValue' ; use Embperl::Inline ; +# --------------------------------------------------------------------------- +# +# show_control_readonly - output readonly control +# +sub show_control_readonly + { + my ($self) = @_ ; + + my $name = $self -> {name} ; + $self -> show_control ("^\Q$fdat{$name}\\E\$") ; + } 1 ; @@ -32,26 +44,29 @@ __EMBPERL__ # show_control - output the control #] -[$ sub show_control ($self) +[$ sub show_control ($self, $filter) my ($values, $options) = $self -> get_values ; my $name = $self -> {name} ; - my $filter = $self -> {filter} ; + $filter ||= $self -> {filter} ; my $addtop = $self -> {addtop} || [] ; my $addbottom= $self -> {addbottom} || [] ; my $max = @$values ; + my $set = !defined ($fdat{$name})?1:0 ; my $val ; my $i = 0 ; -$] +$] [$ foreach $val (@$addtop) $] [$if !defined ($filter) || ($val->[0] =~ /$filter/i) $] + [- $fdat{$name} = $val -> [0], $set = 0 if ($set) ; -] <input type="radio" name="[+ $name +]" value="[+ $val -> [0] +]" >[+ $val ->[1] || $val -> [0] +] [$endif$] [$endforeach$] [$ foreach $val (@$values) $] [$if !defined ($filter) || ($val =~ /$filter/i) $] + [- $fdat{$name} = $val, $set = 0 if ($set) ; -] <input type="radio" name="[+ $name +]" value="[+ $val +]" [$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="show_radio_checked(this,[+ $i +],[+ $max +])" [$endif$] >[+ $options ->[$i] || $val +] @@ -61,6 +76,7 @@ $] [$endforeach$] [$ foreach $val (@$addbottom) $] [$if !defined ($filter) || ($val->[0] =~ /$filter/i) $] + [- $fdat{$name} = $val -> [0], $set = 0 if ($set) ; -] <input type="radio" name="[+ $name +]" value="[+ $val -> [0] +]" >[+ $val ->[1] || $val -> [0] +] [$endif$] @@ -68,29 +84,7 @@ $] [$endsub$] -[# --------------------------------------------------------------------------- -# -# show_control_readonly - output readonly control -#] - -[$ sub show_control_readonly ($self) - my ($values, $options) = $self -> get_values ; - my $name = $self -> {name} ; - my $max = @$values ; - - my $val ; - my $i = 0 ; -$] -[$ foreach $val (@$values) $] - [$if $val eq $fdat{$name} $] - <input type="radio" name="[+ $name +]" value="[+ $val +]">[+ $options ->[ $i] || $val +] - [$endif$] - [* $i++ ; *] -[$endforeach$] - - -[$endsub$] __END__
infrastructure at apache.org | ViewVC Help |
Powered by ViewVC 1.1.26 |