[Jifty-commit] r3334 - in jifty/trunk: lib/Jifty/View/Declare

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sun Jun 3 17:04:57 EDT 2007


Author: jesse
Date: Sun Jun  3 17:04:57 2007
New Revision: 3334

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/lib/Jifty/View/Declare/Helpers.pm

Log:
 r57907 at pinglin:  jesse | 2007-06-03 16:59:42 -0400
  * The SPA templates no longer include css and js twice


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:04:57 2007
@@ -316,22 +316,9 @@
         return '';
     };
 
-    my ($spa) = Jifty->find_plugin('Jifty::Plugin::SinglePage');
-    if( $spa && !Jifty->web->current_region) {
-	&$render_header unless ($done_header);
-	# XXX: move this to the plugin so it can be called from other
-	# view handlers
-	body {
-	    render_region($spa->region_name, path => Jifty->web->request->path);
-	}
-
 
-	    outs_raw('</html>');
-	Template::Declare->buffer->data( $done_header . Template::Declare->buffer->data );
-	return;
-    }
+    my $show_page =  sub {
 
-    body {
         div {
             div {
             show 'salutation'; 
@@ -371,10 +358,31 @@
             };
         };
     };
-    outs_raw('</html>');
-    Template::Declare->buffer->data( $done_header . Template::Declare->buffer->data );
+
+    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->()}
+    }
+
+    else {
+	        &$render_header unless ($done_header);
+            body { $show_page->(); }
+        outs_raw('</html>');
+        Template::Declare->buffer->data( $done_header . Template::Declare->buffer->data );
+
+    }
+
 }
 
+
+
 sub _render_pre_content_hook {
     if ( Jifty->config->framework('AdminMode') ) {
         with( class => "warning admin_mode" ), div {


More information about the Jifty-commit mailing list