[Jifty-commit] r3336 - jifty/trunk/lib/Jifty/View/Declare

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sun Jun 3 17:25:33 EDT 2007


Author: clkao
Date: Sun Jun  3 17:25:33 2007
New Revision: 3336

Modified:
   jifty/trunk/lib/Jifty/View/Declare/Helpers.pm

Log:
* Abstract render_footer.
* Header is always considered done when sending out nontoplevel wrapper in spa.


Modified: jifty/trunk/lib/Jifty/View/Declare/Helpers.pm
==============================================================================
--- jifty/trunk/lib/Jifty/View/Declare/Helpers.pm	(original)
+++ jifty/trunk/lib/Jifty/View/Declare/Helpers.pm	Sun Jun  3 17:25:33 2007
@@ -315,6 +315,10 @@
         Template::Declare->end_buffer_frame;
         return '';
     };
+    my $render_footer = sub {
+	outs_raw('</html>');
+	Template::Declare->buffer->data( $done_header . Template::Declare->buffer->data );
+    };
 
 
     my $show_page =  sub {
@@ -360,23 +364,26 @@
     };
 
     my ($spa) = Jifty->find_plugin('Jifty::Plugin::SinglePage');
-        
-    if( $spa) {
-        # If it's a single page app, we want to either render a wrapper and then get the region or render just the content
-        if ( !Jifty->web->current_region) {
-	        &$render_header unless ($done_header);
-	        body { render_region($spa->region_name, path => Jifty->web->request->path) }
-	        outs_raw('</html>');
-	        Template::Declare->buffer->data( $done_header . Template::Declare->buffer->data );
-        } else { $show_page->()}
-    }
 
+    if ($spa) {
+	# If it's a single page app, we want to either render a
+	# wrapper and then get the region or render just the content
+        if ( !Jifty->web->current_region ) {
+            &$render_header unless ($done_header);
+            body {
+                render_region( $spa->region_name,
+                    path => Jifty->web->request->path );
+            };
+            &$render_footer;
+        } else {
+            ++$done_header;
+            $show_page->();
+        }
+    }
     else {
-	        &$render_header unless ($done_header);
-            body { $show_page->(); }
-        outs_raw('</html>');
-        Template::Declare->buffer->data( $done_header . Template::Declare->buffer->data );
-
+	&$render_header unless ($done_header);
+	body { $show_page->(); };
+	&$render_footer;
     }
 
 }


More information about the Jifty-commit mailing list