Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.2
-
Component/s: Framework, ICE-Components
-
Labels:None
-
Environment:MyFaces 2 ICEfaces 2 datatables
-
Assignee Priority:P1
-
Affects:Compatibility/Configuration
Description
When running under MyFaces, components within datatables are being assigned ids where the row index appears to be appended twice. So for example, in Mojarra where an element within a datatable might be identified as;
<span id="iceform:datTbl:2:number" class="iceOutTxt">1</span>
in MyFaces, the same element is identified as:
<span id="iceform:datTbl:2:2:number" class="iceOutTxt">1</span>
While it doesn't appear to strictly break any application functionality that I can identify, it does cause distress to many of our Selenium tests where we attempt to find elements within a datatable.
<span id="iceform:datTbl:2:number" class="iceOutTxt">1</span>
in MyFaces, the same element is identified as:
<span id="iceform:datTbl:2:2:number" class="iceOutTxt">1</span>
While it doesn't appear to strictly break any application functionality that I can identify, it does cause distress to many of our Selenium tests where we attempt to find elements within a datatable.
Issue Links
- blocks
-
ICE-5868 MyFaces 2 compatibility
- Closed
Added some logging to the OutputTextRender for a small table. It clearly shows that the call to getClientId() from the component is returning the row index twice:
MyFaces logging:
OutputTextRenderer.encodeBegin: iceform:datTbl:0:0:number from com.icesoft.faces.component.ext.HtmlOutputText@f57e027
OutputTextRenderer.encodeBegin: iceform:datTbl:1:1:number from com.icesoft.faces.component.ext.HtmlOutputText@f57e027
OutputTextRenderer.encodeBegin: iceform:datTbl:2:2:number from com.icesoft.faces.component.ext.HtmlOutputText@f57e027
Mojarra logging:
OutputTextRenderer.encodeBegin: iceform:datTbl:0:number from com.icesoft.faces.component.ext.HtmlOutputText@3154bfa8
OutputTextRenderer.encodeBegin: iceform:datTbl:1:number from com.icesoft.faces.component.ext.HtmlOutputText@3154bfa8
OutputTextRenderer.encodeBegin: iceform:datTbl:2:number from com.icesoft.faces.component.ext.HtmlOutputText@3154bfa8