[Jifty-commit] r1068 - in jifty/trunk: lib/Jifty lib/Jifty/Web lib/Jifty/Web/Form

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon May 15 17:28:40 EDT 2006


Author: alexmv
Date: Mon May 15 17:28:40 2006
New Revision: 1068

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/lib/Jifty/Request.pm
   jifty/trunk/lib/Jifty/Web/Form/Clickable.pm
   jifty/trunk/lib/Jifty/Web/PageRegion.pm

Log:
 r13021 at zoq-fot-pik:  chmrr | 2006-05-15 17:27:16 -0400
  * To pageregion mapping earlier


Modified: jifty/trunk/lib/Jifty/Request.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Request.pm	(original)
+++ jifty/trunk/lib/Jifty/Request.pm	Mon May 15 17:28:40 2006
@@ -712,6 +712,12 @@
         delete $self->arguments->{$_};
         $self->argument($key => $value);
     }
+    for ($self->state_variables) {
+        my ($key, $value) = Jifty::Request::Mapper->map(destination => $_->key, source => $_->value, %args);
+        next unless $key ne $_;
+        $self->remove_state_variable($_->key);
+        $self->add_state_variable(key => $key, value => $value);
+    }
 }
 
 package Jifty::Request::Action;

Modified: jifty/trunk/lib/Jifty/Web/Form/Clickable.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/Form/Clickable.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/Form/Clickable.pm	Mon May 15 17:28:40 2006
@@ -262,12 +262,13 @@
     my $self = shift;
     my ( $region, $fragment ) = @_;
 
-    my $defaults = Jifty->web->get_region($region);
+    my $name = ref $region ? $region->qualified_name : $region;
+    my $defaults = Jifty->web->get_region($name);
 
     if ( $defaults and $fragment eq $defaults->default_path ) {
-        $self->state_variable( "region-$region" => undef, $fragment );
+        $self->state_variable( "region-$name" => undef, $fragment );
     } else {
-        $self->state_variable( "region-$region" => $fragment );
+        $self->state_variable( "region-$name" => $fragment );
     }
 }
 
@@ -282,12 +283,13 @@
     my $self = shift;
     my ( $region, $argument, $value ) = @_;
 
-    my $defaults = Jifty->web->get_region($region);
+    my $name = ref $region ? $region->qualified_name : $region;
+    my $defaults = Jifty->web->get_region($name);
 
     if ( $defaults and $value eq $defaults->default_argument($argument) ) {
-        $self->state_variable( "region-$region.$argument" => undef, $value );
+        $self->state_variable( "region-$name.$argument" => undef, $value );
     } else {
-        $self->state_variable( "region-$region.$argument" => $value );
+        $self->state_variable( Jifty::Request::Mapper->query_parameters( "region-$name.$argument" => $value ) );
     }
 
 }
@@ -464,7 +466,7 @@
         next unless $value;
         my @hooks = ref $value eq "ARRAY" ? @{$value} : ($value);
         for my $hook (@hooks) {
-            $hook->{region} ||= Jifty->web->qualified_region;
+            $hook->{region} ||= $hook->{refresh} || Jifty->web->qualified_region;
             $hook->{args}   ||= {};
 
             $self->region_fragment( $hook->{region}, $hook->{replace_with} )

Modified: jifty/trunk/lib/Jifty/Web/PageRegion.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/PageRegion.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/PageRegion.pm	Mon May 15 17:28:40 2006
@@ -238,17 +238,6 @@
     defined $arguments{$_} or delete $arguments{$_} for keys %arguments;
     my $result = "";
 
-    # Map out the arguments
-    for ( keys %arguments ) {
-        my ( $key, $value ) = Jifty::Request::Mapper->map(
-            destination => $_,
-            source      => $arguments{$_}
-        );
-        next unless $key ne $_;
-        delete $arguments{$_};
-        $arguments{$key} = $value;
-    }
-
     # We need to tell the browser this is a region and
     # what its default arguments are as well as the path of the "fragment".
 
@@ -285,11 +274,9 @@
     $subrequest->is_subrequest(1);
     local Jifty->web->{request} = $subrequest;
 
-    # While we're inside this region, # have Mason to tack its response
+    # While we're inside this region, have Mason to tack its response
     # onto a variable and not send headers when it does so
-
-    # XXX TODO: this internals diving is icky
-
+    #XXX TODO: There's gotta be a better way to localize it
     my $region_content = '';
     Jifty->handler->mason->interp->out_method( \$region_content );
 
@@ -298,7 +285,7 @@
     $result .= $region_content;
     $result .= qq|</div>| if ( $self->region_wrapper );
 
-    #XXX TODO: There's gotta be a better way to localize it
+
     Jifty->handler->mason->interp->out_method( \&Jifty::View::Mason::Handler::out_method );
 
     return $result;


More information about the Jifty-commit mailing list