Re: Click link lost during self updating

2009-10-01 Thread Ernesto Reinaldo Barreiro
You have to be very careful about what you are doing. Think about the
following situation:
1-You have panel A that contains a panel B which in turn contains a check
box.
2-Suppose panel B in recreated every time panel A is rendered (e.g. on
onBeforeRendered()).
3-The state of the check box depends on a boolean that is set to false on
the constructor of panel B.
4-Now suppose the user clicks the checkbox and generates an AJAX request and
the boolean is set to true...
5-But right after you have your timer request that repaints A (and recreates
B showing an unchecked checkbox).
6-So the effect is that your action of clicking the check box was over-riden
by the refresh,

I'm not telling this is your situation but if you are not careful many
strange things could happen...

Best,

Ernesto

On Thu, Oct 1, 2009 at 6:06 PM, Alessandro Novarini <
a.novar...@sourcesense.com> wrote:

> 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 compo

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
> >> > >
> >> >
> >>
> >
> >
>


Re: Click link lost during self updating

2009-10-01 Thread Ernesto Reinaldo Barreiro
Maybe this thread has information useful to you.
http://www.nabble.com/How-to-tackle-Ajax-"Flooding"-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
>> > >
>> >
>>
>
>


Re: Click link lost during self updating

2009-10-01 Thread Ernesto Reinaldo Barreiro
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
> > >
> >
>


Re: Click link lost during self updating

2009-10-01 Thread Pedro Santos
Hi, consider to use Wicket api like IVisitor to help keep your code clear

On Thu, Oct 1, 2009 at 10:00 AM, Alessandro Novarini <
a.novar...@sourcesense.com> wrote:

> 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  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
> >
>



-- 
Pedro Henrique Oliveira dos Santos


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  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
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 Pedro Santos
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 Ernesto Reinaldo Barreiro
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
>


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