Author: richter
Date: Mon Sep 29 06:48:25 2014
New Revision: 1628127

URL: http://svn.apache.org/r1628127
Log:
add get_display_text for more controls

Modified:
    perl/embperl/trunk/Embperl/Form/Control.pm
    perl/embperl/trunk/Embperl/Form/Control/grid.pm
    perl/embperl/trunk/Embperl/Form/Control/number.pm
    perl/embperl/trunk/Embperl/Form/Control/price.pm

Modified: perl/embperl/trunk/Embperl/Form/Control.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control.pm?rev=1628127&r1=1628126&r2=1628127&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control.pm Mon Sep 29 06:48:25 2014
@@ -586,12 +586,12 @@ $]
 #   show_control_readonly - output the control as readonly
 #]
 
-[$ sub show_control_readonly ($self, $req, $value) 
+[$ sub show_control_readonly ($self, $req, $value, $suffix) 
 
 my $text  = $self -> get_display_text ($req, $value)  ;
 my $name  = $self -> {force_name} || $self -> {name} ;
 $]
-<div [+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 
'readonly') } +] _ef_divname="[+ $name +]">[+ $text +]</div>
+<div [+ do { local $escmode = 0 ; $self -> get_std_control_attr($req, '', 
'readonly') } +] _ef_divname="[+ $name +]">[+ $text +][+ $suffix +]</div>
 [$ if $self->{hidden} $]
 <input type="hidden" name="[+ $name +]" value="[+ $value +]">
 [$endif$]

Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1628127&r1=1628126&r2=1628127&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Mon Sep 29 06:48:25 2014
@@ -404,7 +404,7 @@ sub get_display_text
             $j     = $allfields -> {$fieldname}  ;
             $field = $fields -> [$j] ;
             next if $field -> is_hidden ;
-            $text = $field -> get_display_text ($req, $rowval -> [$j+1]) ; 
+            $text = $field -> get_display_text ($req, $rowval -> [$j+1], 1) ; 
             push @row, $text if ($text ne '') ;
             }
         push @rows, join (', ', @row) if (@row) ;

Modified: perl/embperl/trunk/Embperl/Form/Control/number.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/number.pm?rev=1628127&r1=1628126&r2=1628127&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/number.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/number.pm Mon Sep 29 06:48:25 2014
@@ -22,6 +22,8 @@ use base 'Embperl::Form::Control::input'
 
 use Embperl::Inline ;
 
+use vars qw{%fdat} ;
+
 # 
------------------------------------------------------------------------------------------
 
 sub get_std_control_attr
@@ -38,12 +40,18 @@ sub get_std_control_attr
 
 sub get_display_text
     {
-    my ($self, $req, $value) = @_ ;
+    my ($self, $req, $value, $compact) = @_ ;
     
     $value = $self -> get_value ($req) if (!defined ($value)) ;
 
     return if ($value eq '') ;
-    return $value + 0 ;
+    return $value + 0 if ($compact) ;
+    
+    my $unit = $self->{unit} ;
+    my $unittext = !$unit?'':$self -> form -> convert_text ($self, ($unit =~ 
/:/)?$unit:'unit:' . lc($unit), $unit, $req) ;
+    $unittext =~ s/^unit:// ;
+
+    return $value . ' ' . $unittext ;        
     }
     
 # 
------------------------------------------------------------------------------------------
@@ -65,17 +73,59 @@ sub get_sort_value
 #   show_control_readonly - output the control as readonly
 #
 
-sub show_control_readonly 
+sub xshow_control_readonly 
     {
     my ($self, $req, $value) = @_ ;
 
     my $unit = $self->{unit} ;
     my $unittext = !$unit?'':$self -> form -> convert_text ($self, ($unit =~ 
/:/)?$unit:'unit:' . lc($unit), $unit, $req) ;
     $unittext =~ s/^unit:// ;
-    $value = $self -> {value} || $Embperl::fdat{$self -> {name}} if 
(!defined($value)) ;
-    $value .= $unittext if ($unit && $value ne '') ;
+    $value = $self -> get_value ($req) if (!defined ($value)) ;
+
+    $self -> SUPER::show_control_readonly ($req, $value, $unit && $value ne 
''?$unittext:'') ;
+    }
+
+# 
------------------------------------------------------------------------------------------
+#
+#   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 '' || (!$force && $req -> 
{"ef_number_init_done_$name"})) ;
+
+    my $num = $self -> get_display_text ($req, $val, 1) ;
+
+    $fdat->{$name} = $num ;
+    $req -> {"ef_number_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))) ;
+    
+    my $fdat  = $req -> {docdata} || \%fdat ;
+    my $name    = $self->{name} ;
+    my $val     = $fdat->{$name} ;
+    return if ($val eq '' || ($req -> {"ef_number_init_done_$name"})) ;
+
+    my $num = $self -> get_display_text ($req, $val) ;
 
-    $self -> SUPER::show_control_readonly ($req, $value) ;
+    $fdat->{$name} = $num ;
+    $req -> {"ef_number_init_done_$name"} = 1 ;
     }
 
 # ---------------------------------------------------------------------------

Modified: perl/embperl/trunk/Embperl/Form/Control/price.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/price.pm?rev=1628127&r1=1628126&r2=1628127&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/price.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/price.pm Mon Sep 29 06:48:25 2014
@@ -35,26 +35,22 @@ sub init
     my ($self) = @_ ;
 
     $self -> {use_comma} = 1 if (!defined $self -> {use_comma}) ;
-    $self->{unit}      = '€' if (!defined ($self->{unit} ));
+    $self->{unit}      = 'euro' if (!defined ($self->{unit} ));
     
     return $self ;
     }
-    
+
 # 
------------------------------------------------------------------------------------------
 #
-#   init_data - daten aufteilen
+#   get_display_text - returns the text that should be displayed
 #
 
-sub init_data
+sub get_display_text
     {
-    my ($self, $req, $parentctrl, $force) = @_ ;
+    my ($self, $req, $val, $compact) = @_ ;
+    
+    $val = $self -> get_value ($req) if (!defined ($val)) ;
     
-    my $fdat  = $req -> {docdata} || \%fdat ;
-    delete $self -> {unit} if ($parentctrl) ;
-    my $name    = $self->{name} ;
-    my $val     = $fdat->{$name} ;
-    return if ($val eq '' || (!$force && $req -> 
{"ef_price_init_done_$name"})) ;
-
     my $sep ;
     my $dec ;
     my $int ;
@@ -83,9 +79,18 @@ sub init_data
     $int[0] =~ s/^0+// ;
     $int[0] = '0' if (@int == 1 && !$int[0]) ;
     $frac   = substr ($frac . '00', 0, 2) ;
-    $fdat->{$name} = ($minus?'-':'') . join ($sep, @int) . $dec . $frac ;
-    $req -> {"ef_price_init_done_$name"} = 1 ;
+    my $result = ($minus?'-':'') . join ($sep, @int) . $dec . $frac ;
+    return $result if ($compact || $val eq '') ;
+    
+    my $unit = $self->{unit} ;
+    my $unittext = !$unit?'':$self -> form -> convert_text ($self, ($unit =~ 
/:/)?$unit:'unit:' . lc($unit), $unit, $req) ;
+    $unittext =~ s/^unit:// ;
+
+    return $result . ' ' . $unittext ;        
     }
+    
+    
+
 
 # 
------------------------------------------------------------------------------------------
 #
@@ -179,7 +184,7 @@ Gives the maximun length in characters
 =head3 unit
 
 Gives a string that should be displayed right of the input field.
-(Default: €)
+(Default: ¤)
 
 =head3 use_comma
 



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