Mailing List Archive

svn commit: r1326356 - in /perl/embperl/trunk/Embperl: Form.pm Form/Control/grid.pm
Author: richter
Date: Sun Apr 15 14:54:10 2012
New Revision: 1326356

URL: http://svn.apache.org/viewvc?rev=1326356&view=rev
Log:
Fix bug with Form unique_id & add support for ordering grid rows

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

Modified: perl/embperl/trunk/Embperl/Form.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form.pm?rev=1326356&r1=1326355&r2=1326356&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form.pm (original)
+++ perl/embperl/trunk/Embperl/Form.pm Sun Apr 15 14:54:10 2012
@@ -69,11 +69,24 @@ sub sub_new
$self -> {jsnamespace} .= '.' if ($self -> {jsnamespace}) ;
$self -> {control_packages} = $options -> {control_packages} ;
$self -> {datasrc_packages} = $options -> {datasrc_packages} ;
- $self -> {formptr} = $options -> {formptr} . '/' . $id || "$self" ;
-
+ $self -> {formptr} = ($options -> {formptr} || "$self") . '/' . $id ;
bless $self, $class if (!ref $class);

+ # The following lines needs to there twice!
+ # some weired bug in Perl?
+ $Embperl::FormData::forms{$self -> {formptr}} = $self ;
$Embperl::FormData::forms{$self -> {formptr}} = $self ;
+
+ if ($toplevel)
+ {
+ $self -> {unique_id} = $self -> {formptr} =~ /HASH/?'_' . $$ . '_' . $form_cnt++:$self -> {formptr} ;
+ $self -> {unique_id} =~ s/[^a-z0-9_]/_/g ;
+ }
+ else
+ {
+ $self -> {unique_id} = $self -> parent_form -> {unique_id} ;
+ }
+
if (!$validate_rules)
{
$validate_rules = $self -> {validate_rules} = [] ;
@@ -198,6 +211,7 @@ sub new_object
}
}
}
+
$obj = $name -> new ($args) ;
$ctlmod = $name ;
}
@@ -496,13 +510,7 @@ sub show_controls
if ($self -> {toplevel})
{
$req -> {form_options_masks} = ($options && $options -> {masks}) || {} ;
- $self -> {unique_id} = '_' . $$ . '_' . $form_cnt++ ;
- }
- else
- {
- $self -> {unique_id} = $self -> parent_form -> {unique_id} ;
}
-
my $lines = $self -> {layout} ;
my %n ;
my $activesubid ;

Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1326356&r1=1326355&r2=1326356&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Sun Apr 15 14:54:10 2012
@@ -94,7 +94,9 @@ sub init_data
{
if ($order_desc)
{
- @entries = sort { print STRERR "$b->[$order] cmp $a->[$order]\n" ; $b -> [$order] cmp $a -> [$order] } @entries ;
+ @entries = sort {
+ #print STRERR "$b->[$order] cmp $a->[$order]\n" ;
+ $b -> [$order] cmp $a -> [$order] } @entries ;
}
else
{
@@ -437,11 +439,12 @@ $]
my $id = $self -> {fullid};
my $i = 0 ;
my $max = $fdat{"__${name}_max"} || 1 ;
+ my $order = $self -> {order_indices} ;
$]

<tbody>
[.* for ($i = 0; $i < $max ; $i++ ) { *]
- [- $self -> show_grid_table_row ($req, $i) ; -]
+ [- $self -> show_grid_table_row ($req, $order?$order -> [$i]:$i) ; -]
[* } *]
</tbody>




---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org