Updated Branches:
  refs/heads/master 62edca653 -> 36d280522

WICKET-4778 Add factory methods to JavaScriptHeaderItem to create a deferred 
JavaScript header item.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/36d28052
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/36d28052
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/36d28052

Branch: refs/heads/master
Commit: 36d280522f56f1dfa99760d0292d60cc8aee9709
Parents: 62edca6
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Wed Oct 3 15:46:23 2012 +0300
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Wed Oct 3 15:46:23 2012 +0300

----------------------------------------------------------------------
 .../wicket/markup/head/JavaScriptHeaderItem.java   |   47 +++++++++++++--
 1 files changed, 41 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/36d28052/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
index d03fd7e..ff49636 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/JavaScriptHeaderItem.java
@@ -16,11 +16,11 @@
  */
 package org.apache.wicket.markup.head;
 
+import org.apache.wicket.core.util.string.JavaScriptUtils;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.ResourceReference;
 import org.apache.wicket.util.lang.Args;
-import org.apache.wicket.core.util.string.JavaScriptUtils;
 import org.apache.wicket.util.string.Strings;
 
 /**
@@ -36,7 +36,7 @@ public abstract class JavaScriptHeaderItem extends HeaderItem
         * {@code null} or empty string for no condition.
         */
        private final String condition;
-       
+
        protected JavaScriptHeaderItem(String condition)
        {
                this.condition = condition;
@@ -120,6 +120,41 @@ public abstract class JavaScriptHeaderItem extends 
HeaderItem
         * Creates a {@link JavaScriptReferenceHeaderItem} for the given 
reference.
         * 
         * @param reference
+        *            resource reference pointing to the JavaScript resource
+        * @param id
+        *            id that will be used to filter duplicate reference (it's 
still filtered by URL
+        *            too)
+        * @param defer
+        *            specifies that the execution of a script should be 
deferred (delayed) until after
+        *            the page has been loaded.
+        * @return A newly created {@link JavaScriptReferenceHeaderItem} for 
the given reference.
+        */
+       public static JavaScriptReferenceHeaderItem 
forReference(ResourceReference reference,
+               String id, boolean defer)
+       {
+               return forReference(reference, null, id, defer, null);
+       }
+
+       /**
+        * Creates a {@link JavaScriptReferenceHeaderItem} for the given 
reference.
+        *
+        * @param reference
+        *            resource reference pointing to the JavaScript resource
+        * @param defer
+        *            specifies that the execution of a script should be 
deferred (delayed) until after
+        *            the page has been loaded.
+        * @return A newly created {@link JavaScriptReferenceHeaderItem} for 
the given reference.
+        */
+       public static JavaScriptReferenceHeaderItem 
forReference(ResourceReference reference,
+               boolean defer)
+       {
+               return forReference(reference, null, null, defer, null);
+       }
+
+       /**
+        * Creates a {@link JavaScriptReferenceHeaderItem} for the given 
reference.
+        *
+        * @param reference
         *            resource reference pointing to the javascript resource
         * @param pageParameters
         *            the parameters for this Javascript resource reference
@@ -288,17 +323,17 @@ public abstract class JavaScriptHeaderItem extends 
HeaderItem
                String id, boolean defer, String charset, String condition)
        {
                Args.notEmpty(url, "url");
-               
-               boolean hasCondition = Strings.isEmpty(condition) == false; 
+
+               boolean hasCondition = Strings.isEmpty(condition) == false;
                if (hasCondition)
                {
                        response.write("<!--[if ");
                        response.write(condition);
                        response.write("]>");
                }
-               
+
                JavaScriptUtils.writeJavaScriptUrl(response, url, id, defer, 
charset);
-               
+
                if (hasCondition)
                {
                        response.write("<![endif]-->\n");

Reply via email to