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

Reply via email to