The Grid component generates not unique HTML DOM ids
----------------------------------------------------

                 Key: TAP5-343
                 URL: https://issues.apache.org/jira/browse/TAP5-343
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.0.16
            Reporter: Andrej Aschenbrenner


If I use the Grid component multiple times in a page/component template then 
the generated HTML contains the same id multiple times:

Template:
<t:grid t:id="communicationList" t:source="address.communication" 
t:row="currentCommunication"  t:rowIndex="currentRow"
            t:inPlace="true" t:volatile="true" 
t:include="id,type,value,isMain,dateModified">
</t:grid>

<t:grid t:id="addressList" t:source="contact.person.address" 
t:row="currentAddress"  t:rowIndex="currentRow"
            t:inPlace="true" t:volatile="true" 
t:include="id,street,streetNumber,city,dateCreated,dateModified">
</t:grid>

Generated HTML:
<thead><tr><th class="id t-first"><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/id/communicationList_0"
 id="sort_13">Id</a><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/id/communicationList_0"
 id="sort2_13"><img alt="[Sortable]" class="t-sort-icon" id="id:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="type">Type</th><th class="value"><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/value/communicationList_0"
 id="sort_14">Value</a><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/value/communicationList_0"
 id="sort2_14"><img alt="[Sortable]" class="t-sort-icon" id="value:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="isMain"><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/isMain/communicationList_0"
 id="sort_15">Is Main</a><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/isMain/communicationList_0"
 id="sort2_15"><img alt="[Sortable]" class="t-sort-icon" id="isMain:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="dateModified"><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/dateModified/communicationList_0"
 id="sort_16">Date Modified</a><a 
href="./addresslist.pc.personcontactedit.communicationlist.columns:sort/dateModified/communicationList_0"
 id="sort2_16"><img alt="[Sortable]" class="t-sort-icon" id="dateModified:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th></tr></thead>


<thead><tr><th class="id t-first"><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/id/addressList"
 id="sort_7">Id</a><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/id/addressList"
 id="sort2_7"><img alt="[Sortable]" class="t-sort-icon" id="id:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="street"><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/street/addressList"
 id="sort_8">Street</a><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/street/addressList"
 id="sort2_8"><img alt="[Sortable]" class="t-sort-icon" id="street:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="streetNumber"><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/streetNumber/addressList"
 id="sort_9">Street Number</a><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/streetNumber/addressList"
 id="sort2_9"><img alt="[Sortable]" class="t-sort-icon" id="streetNumber:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="city"><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/city/addressList"
 id="sort_10">City</a><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/city/addressList"
 id="sort2_10"><img alt="[Sortable]" class="t-sort-icon" id="city:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="dateCreated"><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/dateCreated/addressList"
 id="sort_11">Date Created</a><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/dateCreated/addressList"
 id="sort2_11"><img alt="[Sortable]" class="t-sort-icon" id="dateCreated:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th><th 
class="dateModified"><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/dateModified/addressList"
 id="sort_12">Date Modified</a><a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/dateModified/addressList"
 id="sort2_12"><img alt="[Sortable]" class="t-sort-icon" id="dateModified:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/></a></th></tr></thead>

Column id and dateModified are the same:
<img alt="[Sortable]" class="t-sort-icon" id="id:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/>
<img alt="[Sortable]" class="t-sort-icon" id="id:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/>

<img alt="[Sortable]" class="t-sort-icon" id="dateModified:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/>
<img alt="[Sortable]" class="t-sort-icon" id="dateModified:sort" 
src="assets/5.0.15/tapestry/corelib/components/sortable.png"/>

The DOM id of other elements are unique:
<a 
href="./addresslist.pc.personcontactedit.addresslist.columns:sort/dateModified/addressList"
 id="sort2_12">

Thanks,
Andrej Aschenbrenner


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