Hello,
There is a modal window that contains a panel, which contains a form:

        Form<Void> f = new Form<Void>("modal_form");
        add(f);
        modal = new ModalWindow("window");
        f.add(modal);
        modal.setContent(new ModalTestPanel(modal.getContentId(), modal));

ModalTestPanel contains a form which is submitted via AjaxButton:

        protected void onInitialize() {
                super.onInitialize();

                form = new Form<Void>("form");
                add(form);

                AjaxButton submitButton = new AjaxButton("submit", form) {

                        private static final long serialVersionUID = 
7737945087600561134L;

                        @Override
                        protected void onError(AjaxRequestTarget target, 
Form<?> form) {
                        }

                        @Override
                        protected void onSubmit(AjaxRequestTarget target, 
Form<?> form) {
                                window.close(target);
                        }
                };
                form.add(submitButton);
        }

Inside submitButton.onSubmit -> window.close there is
getContent().setVisible(false) which hides ModalTestPanel (the content of
the window).


submitButton.onSubmit is called in Form.delegateSubmit: 

        // when the given submitting component is not null, it means that it was
the
        // submitting component
        if (submittingComponent != null)
        {
                // use the form which the submittingComponent has submitted for 
further
processing
                submittingComponent.onSubmit();
        }

        // Model was successfully updated with valid data

        Visits.visitPostOrder(this, new IVisitor<Form<?>, Void>()
        {
                public void component(Form<?> form, IVisit<Void> visit)
                {
                        if (form.isEnabledInHierarchy() && 
form.isVisibleInHierarchy())
                        {
                                form.onSubmit();
                        }
                }
        }, new ClassVisitFilter(Form.class));


In this case submitButton.onSubmit is called before form.onSubmit.
However inside submitButton.onSubmit ModalTestPanel is hidden (and so is the
form in it) and in this case:

if (form.isEnabledInHierarchy() && form.isVisibleInHierarchy())

returns false, because form.isVisibleInHierarchy() returns false.

This code worked under 1.5-M3.
Is this a desired behavior? Thanks.
-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/ModalWindow-containing-form-in-Wicket-1-5-RC1-tp3232077p3232077.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to