Sounds like you have nested forms and from last time I checked you cannot
submit the outer form from within an inner form. Either get rid of the inner
form so any button will perform the form submission or share a method to
refresh the page and call it from two places.

Wither way you should check into nested forms:
https://cwiki.apache.org/WICKET/nested-forms.html

~ Thank you,
  Paul Bors

-----Original Message-----
From: rudi [mailto:rudi_mai...@yahoo.com] 
Sent: Tuesday, October 30, 2012 4:58 AM
To: users@wicket.apache.org
Subject: How to call a ModalWindow's close callback?

Hi all,

I have a ModalWindow, which when closed should update a panel (in this case,
happens to be the parent of the ModalWindow) :

final ChangePasswordModal changePasswordModal = new
ChangePasswordModal("changePasswordModal", person,
InputEditCustomerSysPanel.this);
changePasswordModal.setCloseButtonCallback(new CloseButtonCallback() {
        @Override
        public boolean onCloseButtonClicked(AjaxRequestTarget target) {
                info("close button");
                target.add(InputEditCustomerSysPanel.this);
                return true;
        }
});
add(changePasswordModal);

This works when the close button is clicked by the user. However, the
primary use case is the modal will be closed by a an AjaxButton inside a
form inside a panel inside the modal:

AjaxButton submitBtn = new AjaxButton("submitBtn") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
//                                      info("Updating password for " +
person.getObject().getId() + " to be
" + passwordField.getModelObject().toString());
                log.info("Updating password for {} to be {}",
person.getObject().getId(), passwordField.getModelObject());
        
person.getObject().setPassword(LdapUtils.encodeSsha(passwordField.getModelOb
ject()));
                modalWindow.close(target); // PROBLEM: this doesn't call the
callback above
                super.onSubmit(target, form);
        }
};
add(submitBtn);

Problem is, the callback is not called by onSubmit(). And I can't call the
callback manually using the ModalWindow because I can't get to the callback
object, i.e. no getCloseButtonCallback() method.

How to solve this? Thank you.

Rudi



--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/How-to-call-a-ModalWindow-s-close
-callback-tp4653456.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



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

Reply via email to