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");
