[ 
https://issues.apache.org/jira/browse/TAPESTRY-2394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594243#action_12594243
 ] 

Howard M. Lewis Ship commented on TAPESTRY-2394:
------------------------------------------------

The id attribute is included if, at any time, the clientId property of the link 
component is accessed.  So if a mixin, or explicit code, gets the clientId 
property from the link, a clientId will be allocated and the id attribute will 
be set (this is one of the reasons that Tapestry 5 creates a DOM, rather than a 
character stream, to support some random access updates).

So existing 5.0.11 code that generates client-side JavaScript will continue to 
work.  The logic associated with the zone parameter triggers the allocation of 
a clientId, but so will any other reference to clientId.

> clientid not rendered for pagelink or actionlink (with no zone parameter) 
> --------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2394
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2394
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Core Components
>    Affects Versions: 5.0.12
>         Environment: Any
>            Reporter: Steven Woolley
>            Assignee: Howard M. Lewis Ship
>
> the clientid is no longer rendered for pagelinks or actionlinks.  The cause 
> (from walking through the debugger) is this:
> For actionlinks:
> when there is no zone parameter, the call to getClientId() on the actionlink 
> is never made, and thus the clientid is never rendered.  Pagelink's simply 
> never make a call to getClientId().  
> This line in AbstractComponentEventLink's beginrender hilights the issue 
> culprit:
>  if (_zone != null) _clientBehaviorSupport.linkZone(getClientId(), _zone);
> For pagelinks, there is simply no call to getClientId() anywhere in its 
> rendering.
> I just double checked, very latest snapshot from maven:
> http://tapestry.formos.com/maven-snapshot-repository//org/apache/tapestry/tapestry-core/5.0.12-SNAPSHOT/tapestry-core-5.0.12-20080428.110035-48.jar
> Test.java:
> package org.example.myapp.pages;
> public class Test {
> }
> Test.tml:
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
>     <head><title>test</title></head>
>     <body>
>     <a t:id="addSongsToList" t:type="actionlink" ></a>
>     </body>
> </html>
> renders:
> <html><head><link href="assets/tapestry/5.0.12-SNAPSHOT/default.css" 
> rel="stylesheet" type="text/css"><title>test</title></head><body><a 
> href="test.addsongstolist"></a></body></html>
> Same thing in a loop renders:
> <html><head><link href="assets/tapestry/5.0.12-SNAPSHOT/default.css" 
> rel="stylesheet" type="text/css"><title>test</title></head><body><a 
> href="test.addsongstolist"></a><a href="test.addsongstolist"></a><a 
> href="test.addsongstolist"></a></body></html>
> And if I explicitly set the id="something":
> <html><head><link href="assets/tapestry/5.0.12-SNAPSHOT/default.css" 
> rel="stylesheet" type="text/css"><title>test</title></head><body><a 
> href="test.addsongstolist" id="something"></a><a href="test.addsongstolist" 
> id="something"></a><a href="test.addsongstolist" 
> id="something"></a></body></html>
> Also double checked in 5.0.11 and it works as expected:
> Test.tml:
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
>     <head><title>test</title></head>
>     <body>
>     <t:loop source="1..3">
>       <a t:id="addSongsToList" t:type="actionlink" ></a>
>               </t:loop>
>     </body>
> </html>
> renders:
> <html><head><link href="assets/tapestry/default.css" rel="stylesheet" 
> type="text/css"><title>test</title></head><body><a href="test.addsongstolist" 
> id="addSongsToList"></a><a href="test.addsongstolist" 
> id="addSongsToList_0"></a><a href="test.addsongstolist" 
> id="addSongsToList_1"></a></body></html>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to