Re: Refresh a page from an AjaxButton?

2007-09-18 Thread hillj2


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]



Re: Refresh a page from an AjaxButton?

2007-09-17 Thread Matej Knopp
You can use setResponsePage(getPage()) to refresh the window from
Ajax(Submit)Button inside the window. The only problem is that you
can't close the window regular way then, so you'll get the
confirmation message.

To get rid of the message put this javascript somewhere in your page:
Wicket.Window.unloadConfirmation = false;

-Matej

On 9/17/07, UPBrandon [EMAIL PROTECTED] wrote:

 I thought about it but using ModalWindows makes things a little more
 complicated.  Using a regular button, the browser will navigate away and the
 modal window will be lost.  If there were no validation on the form inputs
 and the window always closed after the submit, that might not be a problem
 but it does create a problem if you want to do validation and have errors
 show up in that modal window.  Does that make sense at all?

 -Brandon


 David Bernard-2 wrote:
 
  Why not use a regular Button and the onSumit() method of the form if you
  want to reload the page ?
 
  /david
 
  UPBrandon wrote:
  I'm writing a Wicket app that makes pretty heavy use of the
  Wicket-Extensions
  ModalWindow to present what is basically a dialog box where the user can
  enter information into a form.  The form on each dialog box is
  submitted
  with an AjaxButton and each panel has a feedback panel that is refreshed
  to
  show validation errors.  Everything works fine and right now I am just
  closing a the dialog when the form is submitted successfully.  However,
  what
  I would like to do is have the entire page reload to reflect whatever
  changes the form submit may have caused.  I know that I could add certain
  page elements to the AjaxButton's AjaxRequestTarget but the effect of the
  dialog could be wide spread.  Is there any way to have an AjaxButton
  trigger a complete non-Ajax page refresh?
 
  -Brandon
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

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


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



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



Re: Refresh a page from an AjaxButton?

2007-09-17 Thread UPBrandon

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...

Anyway, thanks for the help everyone.

-Brandon


John Ray wrote:
 
 
 UPBrandon wrote:
 
 Is there any way to have an AjaxButton trigger a complete non-Ajax page
 refresh?
 
 
 Call setResponsePage() passing the page you want to be loaded after the
 AJAX call is complete. To refresh the current page simply pass in the
 current page i.e. this.
 
 

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


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



Re: Refresh a page from an AjaxButton?

2007-09-17 Thread UPBrandon

I thought about it but using ModalWindows makes things a little more
complicated.  Using a regular button, the browser will navigate away and the
modal window will be lost.  If there were no validation on the form inputs
and the window always closed after the submit, that might not be a problem
but it does create a problem if you want to do validation and have errors
show up in that modal window.  Does that make sense at all?

-Brandon


David Bernard-2 wrote:
 
 Why not use a regular Button and the onSumit() method of the form if you
 want to reload the page ?
 
 /david
 
 UPBrandon wrote:
 I'm writing a Wicket app that makes pretty heavy use of the
 Wicket-Extensions
 ModalWindow to present what is basically a dialog box where the user can
 enter information into a form.  The form on each dialog box is
 submitted
 with an AjaxButton and each panel has a feedback panel that is refreshed
 to
 show validation errors.  Everything works fine and right now I am just
 closing a the dialog when the form is submitted successfully.  However,
 what
 I would like to do is have the entire page reload to reflect whatever
 changes the form submit may have caused.  I know that I could add certain
 page elements to the AjaxButton's AjaxRequestTarget but the effect of the
 dialog could be wide spread.  Is there any way to have an AjaxButton
 trigger a complete non-Ajax page refresh?
 
 -Brandon
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

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


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



Re: Refresh a page from an AjaxButton?

2007-09-17 Thread David Bernard

Why not use a regular Button and the onSumit() method of the form if you want 
to reload the page ?

/david

UPBrandon wrote:

I'm writing a Wicket app that makes pretty heavy use of the Wicket-Extensions
ModalWindow to present what is basically a dialog box where the user can
enter information into a form.  The form on each dialog box is submitted
with an AjaxButton and each panel has a feedback panel that is refreshed to
show validation errors.  Everything works fine and right now I am just
closing a the dialog when the form is submitted successfully.  However, what
I would like to do is have the entire page reload to reflect whatever
changes the form submit may have caused.  I know that I could add certain
page elements to the AjaxButton's AjaxRequestTarget but the effect of the
dialog could be wide spread.  Is there any way to have an AjaxButton
trigger a complete non-Ajax page refresh?

-Brandon


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