On Thu, Jan 17, 2013 at 12:17 PM, Sven Meier <[email protected]> wrote:
> @Override
>> public void detach(Component component)
>> {
>> AjaxRequestTarget target = component.getRequestCycle().**
>> find(AjaxRequestTarget.class);
>> if (target != null)
>> {
>> stop(target);
>> }
>> super.detach(component);
>> }
>>
>
>
> A small nitpick:
> Removing a component in an ART might not be the only reason why #detach()
> is called. A developer might call component#detach() to force a LDM to
> reload on the next render.
Very good point!
I'm not sure this is so small. I'd use model.detach() but one could detach
the component ...
Maybe we need another callback method in Behavior
>
>
> Sven
>
>
> On 01/17/2013 10:20 AM, [email protected] wrote:
>
>> WICKET-4959 Unproperly detached Behavior with TabbedPanels
>>
>> Stop the Ajax timer behavior when the behavior's component is removed
>> from the tree
>>
>>
>> Project:
>> http://git-wip-us.apache.org/**repos/asf/wicket/repo<http://git-wip-us.apache.org/repos/asf/wicket/repo>
>> Commit:
>> http://git-wip-us.apache.org/**repos/asf/wicket/commit/**0b78d759<http://git-wip-us.apache.org/repos/asf/wicket/commit/0b78d759>
>> Tree:
>> http://git-wip-us.apache.org/**repos/asf/wicket/tree/0b78d759<http://git-wip-us.apache.org/repos/asf/wicket/tree/0b78d759>
>> Diff:
>> http://git-wip-us.apache.org/**repos/asf/wicket/diff/0b78d759<http://git-wip-us.apache.org/repos/asf/wicket/diff/0b78d759>
>>
>> Branch: refs/heads/master
>> Commit: 0b78d759220c1b09abb0d47b500775**7bbfeb4e0c
>> Parents: e37a9e1
>> Author: Martin Tzvetanov Grigorov <[email protected]>
>> Authored: Thu Jan 17 11:18:22 2013 +0200
>> Committer: Martin Tzvetanov Grigorov <[email protected]>
>> Committed: Thu Jan 17 11:18:22 2013 +0200
>>
>> ------------------------------**------------------------------**
>> ----------
>> .../wicket/ajax/**AbstractAjaxTimerBehavior.java | 11 +++++++++++
>> 1 files changed, 11 insertions(+), 0 deletions(-)
>> ------------------------------**------------------------------**
>> ----------
>>
>>
>> http://git-wip-us.apache.org/**repos/asf/wicket/blob/**
>> 0b78d759/wicket-core/src/main/**java/org/apache/wicket/ajax/**
>> AbstractAjaxTimerBehavior.java<http://git-wip-us.apache.org/repos/asf/wicket/blob/0b78d759/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java>
>> ------------------------------**------------------------------**
>> ----------
>> diff --git
>> a/wicket-core/src/main/java/**org/apache/wicket/ajax/**AbstractAjaxTimerBehavior.java
>> b/wicket-core/src/main/java/**org/apache/wicket/ajax/**
>> AbstractAjaxTimerBehavior.java
>> index 83edeaa..a80921d 100644
>> --- a/wicket-core/src/main/java/**org/apache/wicket/ajax/**
>> AbstractAjaxTimerBehavior.java
>> +++ b/wicket-core/src/main/java/**org/apache/wicket/ajax/**
>> AbstractAjaxTimerBehavior.java
>> @@ -194,4 +194,15 @@ public abstract class AbstractAjaxTimerBehavior
>> extends AbstractDefaultAjaxBehav
>> String timeoutHandle = getTimeoutHandle();
>> target.prependJavaScript("**
>> clearTimeout("+timeoutHandle+"**); delete "+timeoutHandle+";");
>> }
>> +
>> + @Override
>> + public void detach(Component component)
>> + {
>> + AjaxRequestTarget target = component.getRequestCycle().**
>> find(AjaxRequestTarget.class);
>> + if (target != null)
>> + {
>> + stop(target);
>> + }
>> + super.detach(component);
>> + }
>> }
>>
>>
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>