Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.0.16
-
None
Description
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