Mailing List Archive

svn commit: r1628127 - in /perl/embperl/trunk/Embperl/Form: Control.pm Control/grid.pm Control/number.pm Control/price.pm
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-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org