Did you do what I suggested you ?

On Mon, Nov 11, 2013 at 3:49 PM, Daniela L <danigal...@gmail.com> wrote:

> 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 <danigal...@gmail.com>
> <danigal...@gmail.com><danigal...@gmail.com> <danigal...@gmail.com>
> 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
>

Reply via email to