[ 
https://issues.apache.org/jira/browse/TAP5-2500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

I D updated TAP5-2500:
----------------------
    Description: 
This is just one example, since the same problem is observed for TriggerFrament 
inside a zone when used in conjunction with a FormFragment outside the zone 
(and after it).

{code:xml}
    <t:zone t:id="myZone">
        <t:label for="myField">Label</t:label>
    </t:zone>
    <t:textfield t:id="myField"/>
{code}

The reason this doesn't work is because Label.updateAttributes() uses 
@HeartbeatDeferred and assumes this invocation will be deferred until the end 
of the *page* render. Alas, since the label is inside a zone, which for some 
reason starts and ends its own heartbeat (nested within, and occluding, the 
page heartbeat), the invocation is deferred only until the end of the *zone* 
render, i.e. - too early.

Apparently this bug was introduced in [this 
commit|https://github.com/apache/tapestry-5/commit/cc6fe5f3f85001eca4e0aa6a79c3bedc3e36b82c],
 which in turn was addressing 
[TAP5-940|https://issues.apache.org/jira/browse/TAP5-940].

  was:
This is just one example, since the same problem is observed for TriggerFrament 
inside a zone when used in conjunction with a FormFragment outside the zone 
(and after it).

{code:xml}
    <t:zone t:id="myZone">
        <t:label for="myField">Label</t:label>
    </t:zone>
    <t:textfield t:id="myField"/>
{code}

The reason this doesn't work is because Label.updateAttributes() uses 
@HeartbeatDeferred and assumes this invocation will be deferred until the end 
of the *page* render. Alas, since the label is inside a zone, which for some 
reason starts and ends its own heartbeat (nested within, and occluding, the 
page heartbeat), the invocation is deferred only until the end of the zone 
render, i.e. - too early.

Apparently this bug was introduced in [this 
commit|https://github.com/apache/tapestry-5/commit/cc6fe5f3f85001eca4e0aa6a79c3bedc3e36b82c],
 which in turn was addressing 
[TAP5-940|https://issues.apache.org/jira/browse/TAP5-940].


> Label broken when inside zone and attached to a Field after that zone
> ---------------------------------------------------------------------
>
>                 Key: TAP5-2500
>                 URL: https://issues.apache.org/jira/browse/TAP5-2500
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.4
>            Reporter: I D
>
> This is just one example, since the same problem is observed for 
> TriggerFrament inside a zone when used in conjunction with a FormFragment 
> outside the zone (and after it).
> {code:xml}
>     <t:zone t:id="myZone">
>         <t:label for="myField">Label</t:label>
>     </t:zone>
>     <t:textfield t:id="myField"/>
> {code}
> The reason this doesn't work is because Label.updateAttributes() uses 
> @HeartbeatDeferred and assumes this invocation will be deferred until the end 
> of the *page* render. Alas, since the label is inside a zone, which for some 
> reason starts and ends its own heartbeat (nested within, and occluding, the 
> page heartbeat), the invocation is deferred only until the end of the *zone* 
> render, i.e. - too early.
> Apparently this bug was introduced in [this 
> commit|https://github.com/apache/tapestry-5/commit/cc6fe5f3f85001eca4e0aa6a79c3bedc3e36b82c],
>  which in turn was addressing 
> [TAP5-940|https://issues.apache.org/jira/browse/TAP5-940].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to