[Jifty-commit] r3634 - jifty/trunk/lib/Jifty

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon Jul 9 18:15:55 EDT 2007


Author: clkao
Date: Mon Jul  9 18:15:55 2007
New Revision: 3634

Modified:
   jifty/trunk/lib/Jifty/Web.pm

Log:
support external javascripts.

Modified: jifty/trunk/lib/Jifty/Web.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web.pm	(original)
+++ jifty/trunk/lib/Jifty/Web.pm	Mon Jul  9 18:15:55 2007
@@ -27,7 +27,9 @@
 
 __PACKAGE__->mk_classdata($_)
     for qw(cached_css        cached_css_digest        cached_css_time
-           javascript_libs);
+           javascript_libs   external_javascript_libs);
+
+__PACKAGE__->external_javascript_libs([]);
 
 __PACKAGE__->javascript_libs([qw(
     jsan/JSAN.js
@@ -1168,6 +1170,12 @@
 sub include_javascript {
     my $self  = shift;
 
+    for my $url ( @{ __PACKAGE__->external_javascript_libs } ) {
+        $self->out(
+            qq[<script type="text/javascript" src="$url"></script>\n]
+        );
+    }
+
     # if there's no trigger, 0 is returned.  if aborted/handled, undef
     # is returned.
     defined $self->call_trigger('include_javascript', @_) or return '';
@@ -1195,6 +1203,20 @@
     ]);
 }
 
+=head3 add_external_javascript URL1, URL2, ...
+
+Pushes urls onto C<Jifty->web->external_javascript_libs>
+
+=cut
+
+sub add_external_javascript {
+    my $self = shift;
+    Jifty->web->external_javascript_libs([
+        @{ Jifty->web->external_javascript_libs },
+        @_
+    ]);
+}
+
 =head2 STATE VARIABLES
 
 =head3 get_variable NAME


More information about the Jifty-commit mailing list