Click link lost during self updating

2009-10-01 Thread Alessandro Novarini
Hello everybody,

I've just subscribed to this ml, and even thou I searched past mails about
my problem, I couldn't find any hint.

I have a page that's refreshing its components every n seconds using
AbstractAjaxTimerBehavior.
Among these components there's a list of links.

If I try to click a link near the refresh interval, the request get lost
because of the refresh.

One of the solution I'm trying is to disable the refresh on the onMouseDown,
and re-enabling it on the onMouseUp event, but this doesn't work as the
first event stops forever the ajax method call (the refresh).

Every kind of help will be really appreciated :)

Thank you in advance
Ale


Re: Click link lost during self updating

2009-10-01 Thread Alessandro Novarini
Ernesto,

Thanks for the quick reply, but maybe I haven't explained in an accurate way
the problem.
Please correct me if I'm wrong; I get that you're suggesting me to disable
all the components after the user clicks on a link, and enabling them after
the server sends back the response. Is it correct?

The problem I'm experiencing is than the first click is lost if the whole
page is being refreshed. It seems that the client doesn't send the event to
the server; I'm assuming it because our log of the DataRequestCycle doesn't
print anythink.

Thanks you again
Ale

On Thu, Oct 1, 2009 at 12:45 PM, Ernesto Reinaldo Barreiro 
reier...@gmail.com wrote:

 Is blocking the page with a veil while refreshing a valid solution? That
 way users could not click on links while the page is refreshing...

 Best,

 Ernesto

 On Thu, Oct 1, 2009 at 12:37 PM, Alessandro Novarini 
 a.novar...@sourcesense.com wrote:

  Hello everybody,
 
  I've just subscribed to this ml, and even thou I searched past mails
 about
  my problem, I couldn't find any hint.
 
  I have a page that's refreshing its components every n seconds using
  AbstractAjaxTimerBehavior.
  Among these components there's a list of links.
 
  If I try to click a link near the refresh interval, the request get lost
  because of the refresh.
 
  One of the solution I'm trying is to disable the refresh on the
  onMouseDown,
  and re-enabling it on the onMouseUp event, but this doesn't work as the
  first event stops forever the ajax method call (the refresh).
 
  Every kind of help will be really appreciated :)
 
  Thank you in advance
  Ale
 



Re: Click link lost during self updating

2009-10-01 Thread Alessandro Novarini
Pedro,

Thank you.

This is indeed a solution, but it would mean rewriting the whole
application. There are lots of components that need to be refreshed, and
adding to each of them the behavior don't seem trivial.

I'll give it a try anyway.

Thank you
Ale

On Thu, Oct 1, 2009 at 1:17 PM, Pedro Santos pedros...@gmail.com wrote:

 I have a page that's refreshing its components every n seconds using
 AbstractAjaxTimerBehavior.
 Among these components there's a list of links.

 Would be nice if you apply AbstractAjaxTimerBehavior only to components
 that
 need to be updated. Than you don't get in trouble with your links...

 On Thu, Oct 1, 2009 at 7:45 AM, Ernesto Reinaldo Barreiro 
 reier...@gmail.com wrote:

  Is blocking the page with a veil while refreshing a valid solution?
 That
  way users could not click on links while the page is refreshing...
 
  Best,
 
  Ernesto
 
  On Thu, Oct 1, 2009 at 12:37 PM, Alessandro Novarini 
  a.novar...@sourcesense.com wrote:
 
   Hello everybody,
  
   I've just subscribed to this ml, and even thou I searched past mails
  about
   my problem, I couldn't find any hint.
  
   I have a page that's refreshing its components every n seconds using
   AbstractAjaxTimerBehavior.
   Among these components there's a list of links.
  
   If I try to click a link near the refresh interval, the request get
 lost
   because of the refresh.
  
   One of the solution I'm trying is to disable the refresh on the
   onMouseDown,
   and re-enabling it on the onMouseUp event, but this doesn't work as the
   first event stops forever the ajax method call (the refresh).
  
   Every kind of help will be really appreciated :)
  
   Thank you in advance
   Ale
  
 



 --
 Pedro Henrique Oliveira dos Santos



Re: Click link lost during self updating

2009-10-01 Thread Alessandro Novarini
Ok, thank you to everyone.

I've made further investigation and I (think) can describe the problem:

The refresh of the page is set to 3 seconds;
The server takes 2 seconds to give the response back to the client;
If the user clicks during the 2 seconds interval, the event is lost, and the
dialog (or whatever needs to be displayed) doesn't appear.

I think that the click is queued to be processed after the refresh is
completed, but the page has been changed, and the client doesn't recognize
the source of the event anymore.
Maybe if I define the ids for each component in the hierarchy, so that
wicket doesn't generate them...
Do you think this is likely to occur or is just a speculation? Any of you
had a similar experience?

I'm reading the links in the meantime.

Thanks again
Ale

On Thu, Oct 1, 2009 at 3:49 PM, Ernesto Reinaldo Barreiro 
reier...@gmail.com wrote:

 Maybe this thread has information useful to you.
 http://www.nabble.com/How-to-tackle-Ajax-
 Flooding-td25216116.html#a25221503
 http://www.nabble.com/How-to-tackle-Ajax-%22Flooding%22-td25216116.html#a25221503
 

 
 http://www.nabble.com/How-to-tackle-Ajax-%22Flooding%22-td25216116.html#a25221503
 
 Ernesto

 On Thu, Oct 1, 2009 at 3:34 PM, Ernesto Reinaldo Barreiro 
 reier...@gmail.com wrote:

  What I suggested was the other way round... When the page is refreshing
  block it so that users can't click on a link while that is happening...
 And
  the way to block it could be using a veil (e.g. a transparent div layer
 with
  a loading icon) that does not allows the user to click on a link (the
 same
  as modal windows), not on the server side. I'm not 100% sure but I think
  wicket chains the AJAX requests so that only one request is processed at
 a
  time...(core developers, please correct me if I'm saying something
  wrong:-(. So, if you click on a link while the page sent a refresh
  request, then the click will be execute only after page is refreshed...
  and get lost somehow? There was a thread dealing with a similar situation
  some time ago...
  I use a similar approach with a GRID component that allows to drag and
 drop
  columns: while table is repainting I block the page so that user can't do
  anything... I do the same for ajax links, etc.
 
  Best,
 
  Ernesto
 
 
  On Thu, Oct 1, 2009 at 2:57 PM, Alessandro Novarini 
  a.novar...@sourcesense.com wrote:
 
  Ernesto,
 
  Thanks for the quick reply, but maybe I haven't explained in an accurate
  way
  the problem.
  Please correct me if I'm wrong; I get that you're suggesting me to
  disable
  all the components after the user clicks on a link, and enabling them
  after
  the server sends back the response. Is it correct?
 
  The problem I'm experiencing is than the first click is lost if the
 whole
  page is being refreshed. It seems that the client doesn't send the event
  to
  the server; I'm assuming it because our log of the DataRequestCycle
  doesn't
  print anythink.
 
  Thanks you again
  Ale
 
  On Thu, Oct 1, 2009 at 12:45 PM, Ernesto Reinaldo Barreiro 
  reier...@gmail.com wrote:
 
   Is blocking the page with a veil while refreshing a valid solution?
  That
   way users could not click on links while the page is refreshing...
  
   Best,
  
   Ernesto
  
   On Thu, Oct 1, 2009 at 12:37 PM, Alessandro Novarini 
   a.novar...@sourcesense.com wrote:
  
Hello everybody,
   
I've just subscribed to this ml, and even thou I searched past mails
   about
my problem, I couldn't find any hint.
   
I have a page that's refreshing its components every n seconds using
AbstractAjaxTimerBehavior.
Among these components there's a list of links.
   
If I try to click a link near the refresh interval, the request get
  lost
because of the refresh.
   
One of the solution I'm trying is to disable the refresh on the
onMouseDown,
and re-enabling it on the onMouseUp event, but this doesn't work as
  the
first event stops forever the ajax method call (the refresh).
   
Every kind of help will be really appreciated :)
   
Thank you in advance
Ale