Author: almaw Date: Mon Jun 18 02:14:08 2007 New Revision: 548270 URL: http://svn.apache.org/viewvc?view=rev&rev=548270 Log: renderOnBeforeUnloadJavascript
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java?view=diff&rev=548270&r1=548269&r2=548270 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java Mon Jun 18 02:14:08 2007 @@ -174,4 +174,11 @@ * @param javascript */ public void renderOnLoadJavascript(String javascript); + + /** + * Renders javascript that is executed before a page is unloaded. + * + * @param javascript + */ + public void renderOnBeforeUnloadJavascript(String javascript); } Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java?view=diff&rev=548270&r1=548269&r2=548270 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java Mon Jun 18 02:14:08 2007 @@ -197,4 +197,18 @@ } } + /** + * @see org.apache.wicket.markup.html.IHeaderResponse#renderOnBeforeUnloadJavascript(java.lang.String) + */ + public void renderOnBeforeUnloadJavascript(String javascript) + { + List token = Arrays.asList(new Object[] { "javascript-event", "beforeunload", javascript }); + if (wasRendered(token) == false) + { + renderJavascriptReference(WicketEventReference.INSTANCE); + JavascriptUtils.writeJavascript(getResponse(), + "Wicket.Event.add(window, \"beforeunload\", function() { " + javascript + ";});"); + markRendered(token); + } + } }