[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