Error ESC key press event

2012-09-05 Thread Marco Di Sabatino Di Diodoro
Hi all,

I configure into Apache Syncope the possibility to close ModalWindow with ESC 
key press event.

public class CloseOnESCBehavior extends AbstractDefaultAjaxBehavior {

private static final long serialVersionUID = 5826308247642534260L;
private ModalWindow modalWindow;

public CloseOnESCBehavior(ModalWindow modalWindow) {
this.modalWindow = modalWindow;
}

private static final String PRE_JS = $(document).ready(function() {\n
+ $(document).bind('keyup', function(evt) {\n
+ if (evt.keyCode == 27){\n;

private static final String POST_JS = \n evt.preventDefault();\n
+ evt.stopImmediatePropagation();\n
+ }\n
+   });\n
+ });;

@Override
protected void respond(final AjaxRequestTarget target) {
modalWindow.close(target);
}

@Override
protected String findIndicatorId() {
return null;
}

@Override
public void renderHead(final Component component, final IHeaderResponse 
response) {
response.renderJavaScript(new 
StringBuilder(PRE_JS).append(getCallbackScript())
.append(POST_JS).toString(),
closeModalOnEsc);
}

In the modal page:

add(new CloseOnESCBehavior(window));

It work correctly with Chrome and Safari. With Firefox, if I press the ESC key 
twice quickly before the window closes the console return an error:

ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could not find 
root ajax-response element

Regards
Marco


--

Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 085973
http://www.tirasa.net

Apache Syncope PPMC Member
http://people.apache.org/~mdisabatino






Re: Error ESC key press event

2012-09-05 Thread Martin Grigorov
Hi Marco,

I see a quite simple solution with Wicket 6 for this. I think you just
start with your project (or even this is just a prototype?) so you
better use the latest and greatest :-)

What I mean is to use the new AjaxChannel.Type.Active. The active type
prevents a second Ajax call in the same channel while there is a still
running Ajax call in this channel.

The code is as simple as:

@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attrs) {
   super.updateAjaxAttributes(attrs);

   attrs.setAjaxChannel(new AjaxChannel(modalClose, Type.Active));
}

For more about the goodies in Wicket 6 read:
http://wicketinaction.com/2012/07/wicket-6-javascript-improvements/

In Wicket 1.5 you will have to add some custom JavaScript to prevent
the second request. You can unbind the event, or add a flag for
example.

On Wed, Sep 5, 2012 at 12:04 PM, Marco Di Sabatino Di Diodoro
marco.disabat...@tirasa.net wrote:
 Hi all,

 I configure into Apache Syncope the possibility to close ModalWindow with ESC 
 key press event.

 public class CloseOnESCBehavior extends AbstractDefaultAjaxBehavior {

 private static final long serialVersionUID = 5826308247642534260L;
 private ModalWindow modalWindow;

 public CloseOnESCBehavior(ModalWindow modalWindow) {
 this.modalWindow = modalWindow;
 }

 private static final String PRE_JS = $(document).ready(function() {\n
 + $(document).bind('keyup', function(evt) {\n
 + if (evt.keyCode == 27){\n;

 private static final String POST_JS = \n evt.preventDefault();\n
 + evt.stopImmediatePropagation();\n
 + }\n
 +   });\n
 + });;

 @Override
 protected void respond(final AjaxRequestTarget target) {
 modalWindow.close(target);
 }

 @Override
 protected String findIndicatorId() {
 return null;
 }

 @Override
 public void renderHead(final Component component, final IHeaderResponse 
 response) {
 response.renderJavaScript(new 
 StringBuilder(PRE_JS).append(getCallbackScript())
 .append(POST_JS).toString(),
 closeModalOnEsc);
 }

 In the modal page:

 add(new CloseOnESCBehavior(window));

 It work correctly with Chrome and Safari. With Firefox, if I press the ESC 
 key twice quickly before the window closes the console return an error:

 ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could not find 
 root ajax-response element

 Regards
 Marco


 --

 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570

 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net

 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino







-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Error ESC key press event

2012-09-05 Thread Marco Di Sabatino Di Diodoro
Hi Martin,

On Sep 5, 2012, at 12:20 PM, Martin Grigorov wrote:

 Hi Marco,
 
 I see a quite simple solution with Wicket 6 for this. I think you just
 start with your project (or even this is just a prototype?) so you
 better use the latest and greatest :-)

We can not upgrade to Wicket 6 in this moment.

 
 What I mean is to use the new AjaxChannel.Type.Active. The active type
 prevents a second Ajax call in the same channel while there is a still
 running Ajax call in this channel.
 
 The code is as simple as:
 
 @Override
 protected void updateAjaxAttributes(AjaxRequestAttributes attrs) {
   super.updateAjaxAttributes(attrs);
 
   attrs.setAjaxChannel(new AjaxChannel(modalClose, Type.Active));
 }
 
 For more about the goodies in Wicket 6 read:
 http://wicketinaction.com/2012/07/wicket-6-javascript-improvements/
 
 In Wicket 1.5 you will have to add some custom JavaScript to prevent
 the second request. You can unbind the event, or add a flag for
 example.

I tried to use unbind() and flag but always return me the same error. How can I 
prevent the second request?

Thanks
Marco

 
 On Wed, Sep 5, 2012 at 12:04 PM, Marco Di Sabatino Di Diodoro
 marco.disabat...@tirasa.net wrote:
 Hi all,
 
 I configure into Apache Syncope the possibility to close ModalWindow with 
 ESC key press event.
 
 public class CloseOnESCBehavior extends AbstractDefaultAjaxBehavior {
 
private static final long serialVersionUID = 5826308247642534260L;
private ModalWindow modalWindow;
 
public CloseOnESCBehavior(ModalWindow modalWindow) {
this.modalWindow = modalWindow;
}
 
private static final String PRE_JS = $(document).ready(function() {\n
+ $(document).bind('keyup', function(evt) {\n
+ if (evt.keyCode == 27){\n;
 
private static final String POST_JS = \n evt.preventDefault();\n
+ evt.stopImmediatePropagation();\n
+ }\n
+   });\n
+ });;
 
@Override
protected void respond(final AjaxRequestTarget target) {
modalWindow.close(target);
}
 
@Override
protected String findIndicatorId() {
return null;
}
 
@Override
public void renderHead(final Component component, final IHeaderResponse 
 response) {
response.renderJavaScript(new 
 StringBuilder(PRE_JS).append(getCallbackScript())
.append(POST_JS).toString(),
closeModalOnEsc);
}
 
 In the modal page:
 
 add(new CloseOnESCBehavior(window));
 
 It work correctly with Chrome and Safari. With Firefox, if I press the ESC 
 key twice quickly before the window closes the console return an error:
 
 ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could not 
 find root ajax-response element
 
 Regards
 Marco
 
 
 --
 
 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570
 
 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net
 
 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino
 
 
 
 
 
 
 
 -- 
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com
 
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org
 

--

Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 085973
http://www.tirasa.net

Apache Syncope PPMC Member
http://people.apache.org/~mdisabatino






Re: Error ESC key press event

2012-09-05 Thread Martin Grigorov
Hi,

You already wrap the call to wicketAjaxXXX() method in if statement.
Just raise a flag that you entered in this code and set it back to
false in the success/failure handler.

On Wed, Sep 5, 2012 at 3:40 PM, Marco Di Sabatino Di Diodoro
marco.disabat...@tirasa.net wrote:
 Hi Martin,

 On Sep 5, 2012, at 12:20 PM, Martin Grigorov wrote:

 Hi Marco,

 I see a quite simple solution with Wicket 6 for this. I think you just
 start with your project (or even this is just a prototype?) so you
 better use the latest and greatest :-)

 We can not upgrade to Wicket 6 in this moment.


 What I mean is to use the new AjaxChannel.Type.Active. The active type
 prevents a second Ajax call in the same channel while there is a still
 running Ajax call in this channel.

 The code is as simple as:

 @Override
 protected void updateAjaxAttributes(AjaxRequestAttributes attrs) {
   super.updateAjaxAttributes(attrs);

   attrs.setAjaxChannel(new AjaxChannel(modalClose, Type.Active));
 }

 For more about the goodies in Wicket 6 read:
 http://wicketinaction.com/2012/07/wicket-6-javascript-improvements/

 In Wicket 1.5 you will have to add some custom JavaScript to prevent
 the second request. You can unbind the event, or add a flag for
 example.

 I tried to use unbind() and flag but always return me the same error. How can 
 I prevent the second request?

 Thanks
 Marco


 On Wed, Sep 5, 2012 at 12:04 PM, Marco Di Sabatino Di Diodoro
 marco.disabat...@tirasa.net wrote:
 Hi all,

 I configure into Apache Syncope the possibility to close ModalWindow with 
 ESC key press event.

 public class CloseOnESCBehavior extends AbstractDefaultAjaxBehavior {

private static final long serialVersionUID = 5826308247642534260L;
private ModalWindow modalWindow;

public CloseOnESCBehavior(ModalWindow modalWindow) {
this.modalWindow = modalWindow;
}

private static final String PRE_JS = $(document).ready(function() {\n
+ $(document).bind('keyup', function(evt) {\n
+ if (evt.keyCode == 27){\n;

private static final String POST_JS = \n evt.preventDefault();\n
+ evt.stopImmediatePropagation();\n
+ }\n
+   });\n
+ });;

@Override
protected void respond(final AjaxRequestTarget target) {
modalWindow.close(target);
}

@Override
protected String findIndicatorId() {
return null;
}

@Override
public void renderHead(final Component component, final IHeaderResponse 
 response) {
response.renderJavaScript(new 
 StringBuilder(PRE_JS).append(getCallbackScript())
.append(POST_JS).toString(),
closeModalOnEsc);
}

 In the modal page:

 add(new CloseOnESCBehavior(window));

 It work correctly with Chrome and Safari. With Firefox, if I press the ESC 
 key twice quickly before the window closes the console return an error:

 ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could not 
 find root ajax-response element

 Regards
 Marco


 --

 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570

 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net

 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino







 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org


 --

 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570

 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net

 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino







-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Error ESC key press event

2012-09-05 Thread Marco Di Sabatino Di Diodoro

On Sep 5, 2012, at 3:49 PM, Martin Grigorov wrote:

 Hi,
 
 You already wrap the call to wicketAjaxXXX() method in if statement.
 Just raise a flag that you entered in this code and set it back to
 false in the success/failure handler.

Do you mean this?

private static final String PRE_JS = 
var flag = false;
+ $(window).ready(function() {\n
+ $(window).bind('keyup', function(evt) {\n
+ if (!flag  evt.keyCode == 27){\n
+ flag = true;;
   ...
   ...

always the same error.

Regards
Marco

 
 On Wed, Sep 5, 2012 at 3:40 PM, Marco Di Sabatino Di Diodoro
 marco.disabat...@tirasa.net wrote:
 Hi Martin,
 
 On Sep 5, 2012, at 12:20 PM, Martin Grigorov wrote:
 
 Hi Marco,
 
 I see a quite simple solution with Wicket 6 for this. I think you just
 start with your project (or even this is just a prototype?) so you
 better use the latest and greatest :-)
 
 We can not upgrade to Wicket 6 in this moment.
 
 
 What I mean is to use the new AjaxChannel.Type.Active. The active type
 prevents a second Ajax call in the same channel while there is a still
 running Ajax call in this channel.
 
 The code is as simple as:
 
 @Override
 protected void updateAjaxAttributes(AjaxRequestAttributes attrs) {
  super.updateAjaxAttributes(attrs);
 
  attrs.setAjaxChannel(new AjaxChannel(modalClose, Type.Active));
 }
 
 For more about the goodies in Wicket 6 read:
 http://wicketinaction.com/2012/07/wicket-6-javascript-improvements/
 
 In Wicket 1.5 you will have to add some custom JavaScript to prevent
 the second request. You can unbind the event, or add a flag for
 example.
 
 I tried to use unbind() and flag but always return me the same error. How 
 can I prevent the second request?
 
 Thanks
 Marco
 
 
 On Wed, Sep 5, 2012 at 12:04 PM, Marco Di Sabatino Di Diodoro
 marco.disabat...@tirasa.net wrote:
 Hi all,
 
 I configure into Apache Syncope the possibility to close ModalWindow with 
 ESC key press event.
 
 public class CloseOnESCBehavior extends AbstractDefaultAjaxBehavior {
 
   private static final long serialVersionUID = 5826308247642534260L;
   private ModalWindow modalWindow;
 
   public CloseOnESCBehavior(ModalWindow modalWindow) {
   this.modalWindow = modalWindow;
   }
 
   private static final String PRE_JS = $(document).ready(function() {\n
   + $(document).bind('keyup', function(evt) {\n
   + if (evt.keyCode == 27){\n;
 
   private static final String POST_JS = \n evt.preventDefault();\n
   + evt.stopImmediatePropagation();\n
   + }\n
   +   });\n
   + });;
 
   @Override
   protected void respond(final AjaxRequestTarget target) {
   modalWindow.close(target);
   }
 
   @Override
   protected String findIndicatorId() {
   return null;
   }
 
   @Override
   public void renderHead(final Component component, final IHeaderResponse 
 response) {
   response.renderJavaScript(new 
 StringBuilder(PRE_JS).append(getCallbackScript())
   .append(POST_JS).toString(),
   closeModalOnEsc);
   }
 
 In the modal page:
 
 add(new CloseOnESCBehavior(window));
 
 It work correctly with Chrome and Safari. With Firefox, if I press the ESC 
 key twice quickly before the window closes the console return an error:
 
 ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could not 
 find root ajax-response element
 
 Regards
 Marco
 
 
 --
 
 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570
 
 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net
 
 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino
 
 
 
 
 
 
 
 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com
 
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org
 
 
 --
 
 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570
 
 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net
 
 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino
 
 
 
 
 
 
 
 -- 
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com
 
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org
 

--

Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 085973
http://www.tirasa.net

Apache Syncope PPMC Member
http://people.apache.org/~mdisabatino






Re: Error ESC key press event

2012-09-05 Thread Martin Grigorov
Try with bigger scope: window.Flag

On Wed, Sep 5, 2012 at 5:25 PM, Marco Di Sabatino Di Diodoro
marco.disabat...@tirasa.net wrote:

 On Sep 5, 2012, at 3:49 PM, Martin Grigorov wrote:

 Hi,

 You already wrap the call to wicketAjaxXXX() method in if statement.
 Just raise a flag that you entered in this code and set it back to
 false in the success/failure handler.

 Do you mean this?

 private static final String PRE_JS =
 var flag = false;
 + $(window).ready(function() {\n
 + $(window).bind('keyup', function(evt) {\n
 + if (!flag  evt.keyCode == 27){\n
 + flag = true;;
...
...

 always the same error.

 Regards
 Marco


 On Wed, Sep 5, 2012 at 3:40 PM, Marco Di Sabatino Di Diodoro
 marco.disabat...@tirasa.net wrote:
 Hi Martin,

 On Sep 5, 2012, at 12:20 PM, Martin Grigorov wrote:

 Hi Marco,

 I see a quite simple solution with Wicket 6 for this. I think you just
 start with your project (or even this is just a prototype?) so you
 better use the latest and greatest :-)

 We can not upgrade to Wicket 6 in this moment.


 What I mean is to use the new AjaxChannel.Type.Active. The active type
 prevents a second Ajax call in the same channel while there is a still
 running Ajax call in this channel.

 The code is as simple as:

 @Override
 protected void updateAjaxAttributes(AjaxRequestAttributes attrs) {
  super.updateAjaxAttributes(attrs);

  attrs.setAjaxChannel(new AjaxChannel(modalClose, Type.Active));
 }

 For more about the goodies in Wicket 6 read:
 http://wicketinaction.com/2012/07/wicket-6-javascript-improvements/

 In Wicket 1.5 you will have to add some custom JavaScript to prevent
 the second request. You can unbind the event, or add a flag for
 example.

 I tried to use unbind() and flag but always return me the same error. How 
 can I prevent the second request?

 Thanks
 Marco


 On Wed, Sep 5, 2012 at 12:04 PM, Marco Di Sabatino Di Diodoro
 marco.disabat...@tirasa.net wrote:
 Hi all,

 I configure into Apache Syncope the possibility to close ModalWindow with 
 ESC key press event.

 public class CloseOnESCBehavior extends AbstractDefaultAjaxBehavior {

   private static final long serialVersionUID = 5826308247642534260L;
   private ModalWindow modalWindow;

   public CloseOnESCBehavior(ModalWindow modalWindow) {
   this.modalWindow = modalWindow;
   }

   private static final String PRE_JS = $(document).ready(function() {\n
   + $(document).bind('keyup', function(evt) {\n
   + if (evt.keyCode == 27){\n;

   private static final String POST_JS = \n evt.preventDefault();\n
   + evt.stopImmediatePropagation();\n
   + }\n
   +   });\n
   + });;

   @Override
   protected void respond(final AjaxRequestTarget target) {
   modalWindow.close(target);
   }

   @Override
   protected String findIndicatorId() {
   return null;
   }

   @Override
   public void renderHead(final Component component, final IHeaderResponse 
 response) {
   response.renderJavaScript(new 
 StringBuilder(PRE_JS).append(getCallbackScript())
   .append(POST_JS).toString(),
   closeModalOnEsc);
   }

 In the modal page:

 add(new CloseOnESCBehavior(window));

 It work correctly with Chrome and Safari. With Firefox, if I press the 
 ESC key twice quickly before the window closes the console return an 
 error:

 ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could not 
 find root ajax-response element

 Regards
 Marco


 --

 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570

 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net

 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino







 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org


 --

 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570

 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net

 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino







 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org


 --

 Dott. Marco Di Sabatino Di Diodoro
 Tel. +39 3939065570

 Tirasa S.r.l.
 Viale D'Annunzio 267 - 65127 Pescara
 Tel +39 0859116307 / FAX +39 085973
 http://www.tirasa.net

 Apache Syncope PPMC Member
 http://people.apache.org/~mdisabatino







-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com