Hi,
I have tryed to change to AbstractDefaultAjaxBehavior like I described
below, but respond is never called. What am I doing wrong?
Hi,
as far as I have understood this can only be achieved, if I subclass
AbstractDefaultAjaxBehavior like this?
public class PageExitWarningBehavior extends AbstractDefaultAjaxBehavior {
@Override
protected void respond(AjaxRequestTarget target) {
AppointmentSession.get().releaseSavedBlockedFreeCalendarEvent();
}
Hi,
You need to make an Ajax call to the server.
On Mon, Nov 11, 2013 at 2:10 PM, Daniela L <[email protected]>
<[email protected]><[email protected]> <[email protected]>
wrote:
Hi,
this is my first question, so i hope I get everything right.
I am trying to catch the event of the user closing the browser window in
wicket.
I followed this example:
http://stackoverflow.com/questions/16527463/call-java-component-from-javascript-and-retreive-value
and I managed to get the example working so the message is displayed, but I
have no idea how to get the event triggered by the javascript function in
wicket. I need this because when the user closes the browser window I want
to update some data in my database.
Here is what I have tryed:
RequiredTextField<String> myTextField = new
RequiredTextField<String>("myTextField");
myTextField.setOutputMarkupPlaceholderTag(true);
myTextField.add(new PageExitWarningBehavior(){
@Override
public void onEvent(Component component, IEvent<?> event)
{
//this isn't ever called
MySession.get().releaseBlockedDataFromDatabase();
}
});
public class PageExitWarningBehavior extends Behavior {
@Override
public void renderHead(Component component, IHeaderResponse
response) {
super.renderHead(component, response);
response.render(new
OnDomReadyHeaderItem("window.onbeforeunload = function (e) {"
+ "Wicket.Ajax.get({u: '"+getCallbackUrl()+"', async:
false});"
+ "var message = 'Your confirmation message goes
here.',"
+ "e = e || window.event;" + "if (e) {"
+ "e.returnValue = message;" + "}" + "return message;" +
"};"));
}
}
What am I missing? Thank you very much in advance