Author: richter
Date: Fri Sep 19 07:05:01 2014
New Revision: 1626134

URL: http://svn.apache.org/r1626134
Log:
get_display_text fuer age control implemented

Modified:
    perl/embperl/trunk/Embperl/Form/Control/age.pm

Modified: perl/embperl/trunk/Embperl/Form/Control/age.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/age.pm?rev=1626134&r1=1626133&r2=1626134&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/age.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/age.pm Fri Sep 19 07:05:01 2014
@@ -42,20 +42,32 @@ sub init
     
 # 
------------------------------------------------------------------------------------------
 #
-#   init_data - daten aufteilen
+#   get_sort_value - returns the value that should be used to sort
 #
 
-sub init_data
+sub get_sort_value
     {
-    my ($self, $req, $parentctrl, $force) = @_ ;
+    my ($self, $req, $value) = @_ ;
     
-    my $fdat  = $req -> {docdata} || \%fdat ;
-    my $name    = $self->{name} ;
-    my $val     = $fdat->{$name} ;
-    return if ($val eq '' || ($req -> {"ef_age_init_done_$name"} && !$force)) ;
+    $value = $self -> get_value ($req) if (!defined ($value)) ;
+    return $value ;
+    }
+
+# 
------------------------------------------------------------------------------------------
+#
+#   get_display_text - returns the text that should be displayed
+#
+
+sub get_display_text
+    {
+    my ($self, $req, $time) = @_ ;
+    
+    $time = $self -> get_value ($req) if (!defined ($time)) ;
+
+    return if ($time eq '') ;
 
     #20060914041444Z
-    my ($year, $mon, $mday, $hour, $min, $sec, $tz) = ($val =~ 
/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(.)$/) ;
+    my ($year, $mon, $mday, $hour, $min, $sec, $tz) = ($time =~ 
/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(.)$/) ;
     my ($sec2, $min2, $hour2, $mday2, $mon2, $year2) = gmtime ;
     $mon2++ ;
     $year2+=1900 ;
@@ -63,8 +75,29 @@ sub init_data
     my ($Dd,$Dh,$Dm,$Ds) = eval { Delta_DHMS($year,$mon,$mday, $hour,$min,$sec,
                                       $year2,$mon2,$mday2, $hour2,$min2,$sec2) 
} ;
 
-    $fdat->{$name} = $Dd > 0?"${Dd}Tage":sprintf ('%d:%02dh', $Dh, $Dm) ;
-    $fdat->{'_tt_' . $name} = sprintf('%d.%02d.%04d %d:%02d', $mday, $mon, 
$year, $hour, $min) ;
+    my $age     = $Dd > 0?"${Dd}Tage":sprintf ('%d:%02dh', $Dh, $Dm) ;
+    my $tooltip = sprintf('%d.%02d.%04d %d:%02d', $mday, $mon, $year, $hour, 
$min) ;
+    return wantarray?($age, $tooltip):$age ;
+    }
+
+# 
------------------------------------------------------------------------------------------
+#
+#   init_data - daten aufteilen
+#
+
+sub init_data
+    {
+    my ($self, $req, $parentctrl, $force) = @_ ;
+    
+    my $fdat  = $req -> {docdata} || \%fdat ;
+    my $name    = $self->{name} ;
+    my $val     = $fdat->{$name} ;
+    return if ($val eq '' || ($req -> {"ef_age_init_done_$name"} && !$force)) ;
+
+    my ($age, $tooltip) = $self -> $self -> get_display_text ($req, $val) ;
+
+    $fdat->{$name} = $age;
+    $fdat->{'_tt_' . $name} = $tooltip ;
     $req -> {"ef_age_init_done_$name"} = 1 ;
     }
 



---------------------------------------------------------------------
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