UPBrandon wrote:
> 
> That seems to work.  I was trying to do exactly that earlier.  At the
> time, I couldn't seem to access the setResponsePage() method but I must
> have been doing something wrong.  For anyone who might be reading this
> later, I ended up calling setResponsePage(getPage() );
> 
> The only problem I am having now is that ModalWindow has an annoying "are
> you sure you want to navigate away from this page" JavaScript confirm
> since the modal window is open when the browser tries to move on.  Maybe
> there's something in the API to disable that warning...
> 
> 


I had this exact same problem but found my own way around it.  I'm using a
page for my modal window (so it probably would work a bit different if
you're using a Panel).  When I create my modal, I pass the parent page to
the constructor and store that as a member variable as well as the
ModalWindow object.  In the onSubmit handler of my ajax submit button I do:

if(/*Custom form vaidation*/) {

  /* Submit form data */

  parent.setSubmitted(true);  // this sets a variable in the parent class
that is initialized to false
  modalWindowObject.close(target);

} else {
  target.addComponent(ModalWindowForm.this);  // The allows you to see the
feedback panel inside the modal window, assuming it is inside the form
}


Then in the onClose handler of my modal window:

if(isSubmitted()) {  // Checks the member variable the modal window set on
submit (keeps whole page from refreshing if you close modal by other means)
  setResponsePage(ModalWindowParent.class);
}


The code may vary depending on your specific setup (particularly if you're
using a panel instead of a page for you modal window), but I think it should
be workable.  Not sure how it will work with wicket's built-in validators,
because I currently don't use those.

I spent quite some time trying to figure out how to do this, so I hope it
benefits others.  Seems to be the best way of handling a page modal which
has an internal feedback panel, which refreshes the whole page on a
successful submit, but not on a failure (or other close modal events).  It
also avoids the annoying popup, since you're directly calling the close
function.

Joel
-- 
View this message in context: 
http://www.nabble.com/Refresh-a-page-from-an-AjaxButton--tf4469626.html#a12756667
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to