You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/10/03 14:46:59 UTC

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

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 <mg...@apache.org>
Authored: Wed Oct 3 15:46:23 2012 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
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");