Ok I found the problem already, this would appear to be a bug with Tomahawk (as
I have the source attached here). Looks like "itemStyleClass" was omitted from
the saveState method. When I was debugging this I noticed the value for it was
null.
Listing from HtmlDataList.java
public Object saveState(FacesContext context)
{
Object values[] = new Object[17];
values[0] = super.saveState(context);
values[1] = _layout;
values[2] = _rowIndexVar;
values[3] = _rowCountVar;
values[4] = _onclick;
values[5] = _ondblclick;
values[6] = _onkeydown;
values[7] = _onkeypress;
values[8] = _onkeyup;
values[9] = _onmousedown;
values[10] = _onmousemove;
values[11] = _onmouseout;
values[12] = _onmouseover;
values[13] = _onmouseup;
values[14] = _style;
values[15] = _styleClass;
values[16] = _title;
return values;
}
As you can see itemStyleClass is not there. I'm using MyFaces 1.1.5, not sure
if this problem exists in 1.2 but we're not upgrading at this point. I guess
for now I'll just override this component to make it work. I'll see about
opening a proper bug maybe? I haven't done so before so I'm not sure what the
process is for that.
________________________________
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Envoyé : jeudi 10 avril 2008 15:23
À : [email protected]
Objet : Using t:dataList with Ajax4JSF
Hi,
I have a small problem with t:dataList and Ajax4JSF. I'm going to step through
this in the debugger soon but maybe someone's already encountered this.
I have a t:dataList like so:
<t:dataList id="dataList" var="element" value="#{mbDataList.folderList}"
layout="unorderedList" styleClass="DataList" itemStyleClass="DataList">
Elsewhere I'm doing some Ajax4JSF action and I pass "dataList" to be rerendered.
For the most part it rerenders correctly except it seems to omit the
'itemStyleClass="DataList"' attribute. The data gets updated, but the
formatting gets broken since the <li>s don't have their class attribute anymore.
Thanks,
Matt