Reputation: 1672
I'd like to do something like this:
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(ClosingEvent event) {
event.setMessage("Really?");
// If user clicks 'ok' in the dialog, execute code below. Else skip the code and return to window.
// CODE that does stuff goes here.
}
});
How do I capture the input from the dialog?
Upvotes: 6
Views: 16342
Reputation: 1672
There need to be two handlers, one Window.ClosingHandler
and one CloseHandler
. See below. This will make sure, if 'cancel' is clicked in the dialog, the CloseHandler
isn't triggered. But if 'ok' is clicked, the CloseHandler
is executed and will run the necessary code. This could be used for releasing db locks, neatly closing open sessions, etc.
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(ClosingEvent event) {
event.setMessage("You sure?");
}
});
Window.addCloseHandler(new CloseHandler<Window>() {
@Override
public void onClose(CloseEvent<Window> event) {
//Execute code when window closes!
}
});
Upvotes: 6
Reputation: 4010
You want to look into Window.Confirm for this kind of functionality.
You can read up on it here: gwt.user.client.Window
Upvotes: 0