Repository: wicket Updated Branches: refs/heads/master 9107ef53d -> e0335bbb5
WICKET-6006 ModalWindow.closeCurrent() causes 414 status error Do not submit the form elements inside the ModalWindow when closing it. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e0335bbb Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e0335bbb Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e0335bbb Branch: refs/heads/master Commit: e0335bbb5706c489d6039f250215a53cdc6a6797 Parents: 9107ef5 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Sat Dec 12 23:09:15 2015 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Sat Dec 12 23:10:47 2015 +0100 ---------------------------------------------------------------------- .../ajax/markup/html/modal/ModalWindow.java | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/e0335bbb/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java index 12592ff..6009548 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java @@ -22,6 +22,8 @@ import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; +import org.apache.wicket.ajax.attributes.AjaxCallListener; +import org.apache.wicket.ajax.attributes.AjaxRequestAttributes; import org.apache.wicket.core.request.handler.PageProvider; import org.apache.wicket.core.request.handler.RenderPageRequestHandler; import org.apache.wicket.markup.ComponentTag; @@ -974,6 +976,16 @@ public class ModalWindow extends Panel { return super.getCallbackScript(); } + + @Override + protected void updateAjaxAttributes(AjaxRequestAttributes attributes) + { + super.updateAjaxAttributes(attributes); + AjaxCallListener listener = new AjaxCallListener(); + // disable all form elements inside the modal window to avoid serializing them in the url + listener.onBefore("$('#'+attrs.c+' :input').prop('disabled', true);"); + attributes.getAjaxCallListeners().add(listener); + } } /** @@ -1005,6 +1017,16 @@ public class ModalWindow extends Panel { return super.getCallbackScript(); } + + @Override + protected void updateAjaxAttributes(AjaxRequestAttributes attributes) + { + super.updateAjaxAttributes(attributes); + AjaxCallListener listener = new AjaxCallListener(); + // disable all form elements inside the modal window to avoid serializing them in the url + listener.onBefore("$('#'+attrs.c+' :input').prop('disabled', true);"); + attributes.getAjaxCallListeners().add(listener); + } } /**
