Author: richter Date: Tue May 13 04:17:34 2014 New Revision: 1594119 URL: http://svn.apache.org/r1594119 Log: add get_sort_value for controls
Modified: perl/embperl/trunk/Embperl/Form/Control/checkbox.pm perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm perl/embperl/trunk/Embperl/Form/Control/datetime.pm perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm perl/embperl/trunk/Embperl/Form/Control/grid.pm perl/embperl/trunk/Embperl/Form/Control/number.pm perl/embperl/trunk/Embperl/Form/ControlMultValue.pm Modified: perl/embperl/trunk/Embperl/Form/Control/checkbox.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/checkbox.pm?rev=1594119&r1=1594118&r2=1594119&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/checkbox.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/checkbox.pm Tue May 13 04:17:34 2014 @@ -101,6 +101,7 @@ sub get_display_text my $val = $self -> {value} ; $val = 1 if ($val eq '') ; + return $value eq $val?'X':'-' if (defined ($value)) ; return $fdat->{$name} eq $val?'X':'-' ; } Modified: perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm?rev=1594119&r1=1594118&r2=1594119&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/checkboxes.pm Tue May 13 04:17:34 2014 @@ -28,7 +28,7 @@ use Embperl::Inline ; # show_control_readonly - output readonly control # -sub show_control_readonly +sub xshow_control_readonly { my ($self, $req) = @_ ; Modified: perl/embperl/trunk/Embperl/Form/Control/datetime.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/datetime.pm?rev=1594119&r1=1594118&r2=1594119&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/datetime.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/datetime.pm Tue May 13 04:17:34 2014 @@ -84,6 +84,20 @@ sub get_display_text return $date ; } + +# ------------------------------------------------------------------------------------------ +# +# get_sort_value - returns the value that should be used to sort +# + +sub get_sort_value + { + my ($self, $req, $value) = @_ ; + + $value = $self -> get_value ($req) if (!defined ($value)) ; + return $value ; + } + # ------------------------------------------------------------------------------------------ # # init_data - daten aufteilen @@ -102,6 +116,21 @@ sub init_data $req -> {"ef_datetime_init_done_$name"} = 1 ; } +# --------------------------------------------------------------------------- +# +# init_markup - add any dynamic markup to the form data +# + +sub init_markup + + { + my ($self, $req, $parentctl, $method) = @_ ; + + return if (!$self -> is_readonly($req) && (! $parentctl || ! $parentctl -> is_readonly($req))) ; + + return $self -> init_data ($req, $parentctl) ; + } + # ------------------------------------------------------------------------------------------ # # prepare_fdat - daten zusammenfuehren Modified: perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm?rev=1594119&r1=1594118&r2=1594119&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/dynctrl.pm Tue May 13 04:17:34 2014 @@ -42,7 +42,7 @@ sub create_ctrl my $ctrlattr = $self -> {ctrlattr} ; if (ref $ctrlattr eq 'CODE') { - $ctrl = &{$ctrlattr}($self, $fdat) ; + $ctrl = &{$ctrlattr}($self, $fdat, $req) ; } else { @@ -52,7 +52,7 @@ sub create_ctrl my $val = $ctrlattr -> {$f} ; if (ref $val eq 'CODE') { - $val = &{$val}($self, $fdat) ; + $val = &{$val}($self, $fdat, $req) ; } $ctrl -> {$f} = $val ; @@ -197,8 +197,8 @@ Embperl::Form::Control::dynctrl - A dyna name => 'foo', ctrlattr => { - type => sub { my ($ctrl, $fdat) = @_ ; return $fdat{foo} }, - size => sub { my ($ctrl, $fdat) = @_ ; return $fdat{bar} }, + type => sub { my ($ctrl, $fdat, $req) = @_ ; return $fdat{foo} }, + size => sub { my ($ctrl, $fdat, $req) = @_ ; return $fdat{bar} }, } } @@ -208,7 +208,7 @@ or type => 'dynctrl', text => 'blabla', name => 'foo', - ctrlattr => sub { my ($ctrl, $fdat) = @_ ; return { type => $fdat{foo}, size => $fdat{bar} }, + ctrlattr => sub { my ($ctrl, $fdat, $req) = @_ ; return { type => $fdat{foo}, size => $fdat{bar} }, } Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1594119&r1=1594118&r2=1594119&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Tue May 13 04:17:34 2014 @@ -94,12 +94,12 @@ sub init sub init_data_hash { - my ($rowno, $fdat, $name, $fields) = @_ ; + my ($rowno, $hashdata, $fields) = @_ ; my $data ; map { - $data = $fdat->{$name}{$_} ; + $data = $hashdata -> {$_} ; my @data ; if (ref $data eq 'HASH') { @@ -119,7 +119,7 @@ sub init_data_hash } [$rowno++, @data ] - } keys %{$fdat->{$name}} ; + } keys %$hashdata ; } @@ -138,7 +138,7 @@ sub init_data my $rowno = 1 ; my $fields = $self -> {fields} ; my @entries = ref $fdat->{$name} eq 'ARRAY'?@{$fdat->{$name}}: - ref $fdat->{$name} eq 'HASH' ?init_data_hash ($rowno, $fdat, $name, $fields): + ref $fdat->{$name} eq 'HASH' ?init_data_hash ($rowno, $fdat->{$name}, $fields): split("\t",$fdat->{$name}); my $line2 = $self -> {line2} ; my $order = $self -> {order} ; @@ -389,18 +389,25 @@ sub get_display_text my @data ; my $fieldname ; my $j ; - my @row ; + my @rows ; my $field ; my $text ; - foreach $fieldname (@$showfields) + my @value ; + @value = (ref ($value) eq 'HASH')?init_data_hash (1, $value, $fields):@$value ; + foreach my $rowval (@value) { - $j = $allfields -> {$fieldname} ; - $field = $fields -> [$j] ; - next if $field -> is_hidden ; - $text = $field -> get_display_text ($req, $value -> [$j+1]) ; - push @row, $text if ($text ne '') ; + my @row ; + foreach $fieldname (@$showfields) + { + $j = $allfields -> {$fieldname} ; + $field = $fields -> [$j] ; + next if $field -> is_hidden ; + $text = $field -> get_display_text ($req, $rowval -> [$j+1]) ; + push @row, $text if ($text ne '') ; + } + push @rows, join (', ', @row) ; } - return join (', ', @row) ; + return join (' / ', @rows) ; } 1 ; Modified: perl/embperl/trunk/Embperl/Form/Control/number.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/number.pm?rev=1594119&r1=1594118&r2=1594119&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/Control/number.pm (original) +++ perl/embperl/trunk/Embperl/Form/Control/number.pm Tue May 13 04:17:34 2014 @@ -31,6 +31,33 @@ sub get_std_control_attr return $self -> SUPER::get_std_control_attr ($req, $id, $type, $type eq 'readonly'?'ef-control-number-readonly':$addclass) ; } +# ------------------------------------------------------------------------------------------ +# +# get_display_text - returns the text that should be displayed +# + +sub get_display_text + { + my ($self, $req, $value) = @_ ; + + $value = $self -> get_value ($req) if (!defined ($value)) ; + + return $value + 0 ; + } + +# ------------------------------------------------------------------------------------------ +# +# get_sort_value - returns the value that should be used to sort +# + +sub get_sort_value + { + my ($self, $req, $value) = @_ ; + + $value = $self -> get_value ($req) if (!defined ($value)) ; + return $value + 0 ; + } + # --------------------------------------------------------------------------- # Modified: perl/embperl/trunk/Embperl/Form/ControlMultValue.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/ControlMultValue.pm?rev=1594119&r1=1594118&r2=1594119&view=diff ============================================================================== --- perl/embperl/trunk/Embperl/Form/ControlMultValue.pm (original) +++ perl/embperl/trunk/Embperl/Form/ControlMultValue.pm Tue May 13 04:17:34 2014 @@ -322,11 +322,20 @@ sub is_with_id sub get_display_text { my ($self, $req, $value) = @_ ; - + $value = $self -> get_value ($req) if (!defined ($value)) ; - $value = $self -> get_option_from_value ($value, $req) ; + if (!ref $value) + { + my @value = split (/\t/, $value) ; + $value = \@value ; + } + my @result ; + foreach my $val (@$value) + { + push @result, $self -> get_option_from_value ($val, $req) ; + } - return $value ; + return join (', ', @result) ; } # --------------------------------------------------------------------------- @@ -346,7 +355,7 @@ sub init_markup { my $name = $self -> {name} ; my $fdat = $req -> {docdata} || \%Embperl::fdat ; - $fdat -> {'_opt_' . $name} = $self -> get_option_from_value ($val, $req) ; + $fdat -> {'_opt_' . $name} = $self -> get_display_text ($req, $val) ; $fdat -> {'_id_' . $name} = $self -> get_id_from_value ($val, $req) ; } } --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org For additional commands, e-mail: embperl-cvs-h...@perl.apache.org