Author: mgrigorov Date: Sat Nov 6 17:46:37 2010 New Revision: 1032124 URL: http://svn.apache.org/viewvc?rev=1032124&view=rev Log: WICKET-3144 Extra client-side scripting before closing modalwindow
Add the possibility to modify the javascript used for closing the modal window (i.e. provide custom IAjaxCallDecorator for CloseButtonBehavior) merge r1032118 from trunk Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java?rev=1032124&r1=1032123&r2=1032124&view=diff ============================================================================== --- wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java (original) +++ wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java Sat Nov 6 17:46:37 2010 @@ -257,7 +257,7 @@ public class ModalWindow extends Panel add(empty = new WebMarkupContainer(getContentId())); - add(new CloseButtonBehavior()); + add(newCloseButtonBehavior()); add(new WindowClosedBehavior()); add(JavascriptPackageResource.getHeaderContribution(JAVASCRIPT)); @@ -974,12 +974,16 @@ public class ModalWindow extends Panel /** * @author Matej Knopp */ - private class CloseButtonBehavior extends AbstractDefaultAjaxBehavior + protected class CloseButtonBehavior extends AbstractDefaultAjaxBehavior { private static final long serialVersionUID = 1L; + public CloseButtonBehavior() + { + } + @Override - protected void respond(AjaxRequestTarget target) + protected final void respond(AjaxRequestTarget target) { if (closeButtonCallback == null || closeButtonCallback.onCloseButtonClicked(target) == true) @@ -1001,7 +1005,7 @@ public class ModalWindow extends Panel * @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#getCallbackScript() */ @Override - protected CharSequence getCallbackScript() + protected final CharSequence getCallbackScript() { return super.getCallbackScript(); } @@ -1217,4 +1221,14 @@ public class ModalWindow extends Panel title.detach(); } } + + /** + * Gives the possibility to provide custom {...@link IAjaxCallDecorator} + * + * @return the behavior that should be used for the window close button + */ + protected CloseButtonBehavior newCloseButtonBehavior() + { + return new CloseButtonBehavior(); + } }