You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2007/09/01 23:39:27 UTC
svn commit: r571877 - in
/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket:
ajax/AjaxRequestTarget.java markup/html/IHeaderResponse.java
markup/html/internal/HeaderResponse.java
Author: knopp
Date: Sat Sep 1 14:39:26 2007
New Revision: 571877
URL: http://svn.apache.org/viewvc?rev=571877&view=rev
Log:
WICKET-480
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=571877&r1=571876&r2=571877&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java Sat Sep 1 14:39:26 2007
@@ -829,7 +829,8 @@
public void renderOnDomReadyJavascript(String javascript)
{
- List token = Arrays.asList(new Object[] { "javascript-event", "domready", javascript });
+ List token = Arrays.asList(new Object[] { "javascript-event", "window", "domready",
+ javascript });
if (wasRendered(token) == false)
{
domReadyJavascripts.add(javascript);
@@ -839,7 +840,8 @@
public void renderOnLoadJavascript(String javascript)
{
- List token = Arrays.asList(new Object[] { "javascript-event", "load", javascript });
+ List token = Arrays.asList(new Object[] { "javascript-event", "window", "load",
+ javascript });
if (wasRendered(token) == false)
{
// execute the javascript after all other scripts are executed
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java?rev=571877&r1=571876&r2=571877&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java Sat Sep 1 14:39:26 2007
@@ -20,20 +20,17 @@
import org.apache.wicket.Response;
/**
- * Interface that is used to render header elements (usually javascript and CSS
- * references).
+ * Interface that is used to render header elements (usually javascript and CSS references).
*
- * Implementation of this interface is responsible for filtering duplicate
- * contributions (so that for example the same javascript is not loaded twice)
- * during the same request.
+ * Implementation of this interface is responsible for filtering duplicate contributions (so that
+ * for example the same javascript is not loaded twice) during the same request.
*
* @author Matej Knopp
*/
public interface IHeaderResponse
{
/**
- * Writes a javascript reference, if the specified reference hasn't been
- * rendered yet.
+ * Writes a javascript reference, if the specified reference hasn't been rendered yet.
*
* @param reference
* resource reference pointing to the javascript resource
@@ -41,8 +38,7 @@
public void renderJavascriptReference(ResourceReference reference);
/**
- * Writes a javascript reference, if the specified reference hasn't been
- * rendered yet.
+ * Writes a javascript reference, if the specified reference hasn't been rendered yet.
*
* @param url
* url of the the javascript resource
@@ -50,25 +46,21 @@
public void renderJavascriptReference(String url);
/**
- * Renders javascript code to the response, if the javascript has not
- * already been rendered.
+ * Renders javascript code to the response, if the javascript has not already been rendered.
*
- * the necessary surrounding <code>script</code> tags will be added to the
- * output.
+ * the necessary surrounding <code>script</code> tags will be added to the output.
*
* @param javascript
* javacript content to be rendered.
*
* @param id
- * unique id for the javascript element. This can be null,
- * however in that case the ajax header contribution can't detect
- * duplicate script fragments.
+ * unique id for the javascript element. This can be null, however in that case the
+ * ajax header contribution can't detect duplicate script fragments.
*/
public void renderJavascript(CharSequence javascript, String id);
/**
- * Writes a CSS reference, if the specified reference hasn't been rendered
- * yet.
+ * Writes a CSS reference, if the specified reference hasn't been rendered yet.
*
* @param reference
* resource reference pointing to the CSS resource
@@ -76,8 +68,7 @@
public void renderCSSReference(ResourceReference reference);
/**
- * Writes a CSS reference, if the specified reference hasn't been rendered
- * yet.
+ * Writes a CSS reference, if the specified reference hasn't been rendered yet.
*
* @param url
* url of the CSS resource
@@ -85,8 +76,7 @@
public void renderCSSReference(String url);
/**
- * Writes a CSS reference, if the specified reference hasn't been rendered
- * yet.
+ * Writes a CSS reference, if the specified reference hasn't been rendered yet.
*
* @param reference
* resource reference pointing to the CSS resource
@@ -96,8 +86,7 @@
public void renderCSSReference(ResourceReference reference, String media);
/**
- * Writes a CSS reference, if the specified reference hasn't been rendered
- * yet.
+ * Writes a CSS reference, if the specified reference hasn't been rendered yet.
*
* @param url
* url of the CSS resource
@@ -107,11 +96,11 @@
public void renderCSSReference(String url, String media);
/**
- * Renders an arbitrary string to the header. The string is only rendered if
- * the same string hasn't been rendered before.
+ * Renders an arbitrary string to the header. The string is only rendered if the same string
+ * hasn't been rendered before.
* <p>
- * Note: This method is kind of dangerous as users are able to write to the
- * output whatever they like.
+ * Note: This method is kind of dangerous as users are able to write to the output whatever they
+ * like.
*
* @param string
* string to be rendered to head
@@ -119,10 +108,9 @@
public void renderString(CharSequence string);
/**
- * Marks the given object as rendered. The object can be anything (string,
- * resource reference, etc...). The purpose of this function is to allow
- * user to manually keep track of rendered items. This can be useful for
- * items that are expensive to generate (like interpolated text).
+ * Marks the given object as rendered. The object can be anything (string, resource reference,
+ * etc...). The purpose of this function is to allow user to manually keep track of rendered
+ * items. This can be useful for items that are expensive to generate (like interpolated text).
*
* @param object
* object to be marked as rendered.
@@ -132,15 +120,12 @@
/**
* Returns whether the given object has been marked as rendered.
* <ul>
- * <li>Methods <code>renderJavascriptReference</code> and
- * <code>renderCSSReference</code> mark the specified
- * {@link ResourceReference} as rendered.
- * <li>Method <code>renderJavascript</code> marks List of two elements
- * (first is javascript body CharSequence and second is id) as rendered.
- * <li>Method <code>renderString</code> marks the whole string as
- * rendered.
- * <li>Method <code>markRendered</code> can be used to mark an arbitrary
- * object as rendered
+ * <li>Methods <code>renderJavascriptReference</code> and <code>renderCSSReference</code>
+ * mark the specified {@link ResourceReference} as rendered.
+ * <li>Method <code>renderJavascript</code> marks List of two elements (first is javascript
+ * body CharSequence and second is id) as rendered.
+ * <li>Method <code>renderString</code> marks the whole string as rendered.
+ * <li>Method <code>markRendered</code> can be used to mark an arbitrary object as rendered
* </ul>
*
* @param object
@@ -150,19 +135,18 @@
public boolean wasRendered(Object object);
/**
- * Returns the response that can be used to write arbitrary text to the head
- * section.
+ * Returns the response that can be used to write arbitrary text to the head section.
* <p>
- * Note: This method is kind of dangerous as users are able to write to the
- * output whatever they like.
+ * Note: This method is kind of dangerous as users are able to write to the output whatever they
+ * like.
*
* @return Reponse
*/
public Response getResponse();
/**
- * Renders javascript that is executed right after the DOM is built, before
- * external resources (e.g. images) are loaded.
+ * Renders javascript that is executed right after the DOM is built, before external resources
+ * (e.g. images) are loaded.
*
* @param javascript
*/
@@ -174,11 +158,13 @@
* @param javascript
*/
public void renderOnLoadJavascript(String javascript);
-
+
/**
- * Renders javascript that is executed before a page is unloaded.
+ * Renders javascript that is executed after the given event happens on specified target
*
+ * @param target
+ * @param event
* @param javascript
*/
- public void renderOnBeforeUnloadJavascript(String javascript);
+ public void renderOnEventJavacript(String target, String event, String javascript);
}
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java?rev=571877&r1=571876&r2=571877&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java Sat Sep 1 14:39:26 2007
@@ -176,14 +176,7 @@
*/
public void renderOnDomReadyJavascript(String javascript)
{
- List token = Arrays.asList(new Object[] { "javascript-event", "domready", javascript });
- if (wasRendered(token) == false)
- {
- renderJavascriptReference(WicketEventReference.INSTANCE);
- JavascriptUtils.writeJavascript(getResponse(),
- "Wicket.Event.add(window, \"domready\", function() { " + javascript + ";});");
- markRendered(token);
- }
+ renderOnEventJavacript("window", "domready", javascript);
}
/**
@@ -191,27 +184,22 @@
*/
public void renderOnLoadJavascript(String javascript)
{
- List token = Arrays.asList(new Object[] { "javascript-event", "load", javascript });
- if (wasRendered(token) == false)
- {
- renderJavascriptReference(WicketEventReference.INSTANCE);
- JavascriptUtils.writeJavascript(getResponse(),
- "Wicket.Event.add(window, \"load\", function() { " + javascript + ";});");
- markRendered(token);
- }
+ renderOnEventJavacript("window", "load", javascript);
}
/**
- * @see org.apache.wicket.markup.html.IHeaderResponse#renderOnBeforeUnloadJavascript(java.lang.String)
+ *
+ * @see org.apache.wicket.markup.html.IHeaderResponse#renderOnEventJavacript(java.lang.String,
+ * java.lang.String, java.lang.String)
*/
- public void renderOnBeforeUnloadJavascript(String javascript)
+ public void renderOnEventJavacript(String target, String event, String javascript)
{
- List token = Arrays.asList(new Object[] { "javascript-event", "beforeunload", javascript });
+ List token = Arrays.asList(new Object[] { "javascript-event", target, event, javascript });
if (wasRendered(token) == false)
{
renderJavascriptReference(WicketEventReference.INSTANCE);
- JavascriptUtils.writeJavascript(getResponse(),
- "Wicket.Event.add(window, \"beforeunload\", function() { " + javascript + ";});");
+ JavascriptUtils.writeJavascript(getResponse(), "Wicket.Event.add(" + target + ", \"" +
+ event + "\", function() { " + javascript + ";});");
markRendered(token);
}
}