Hello!
The following code doesn't work:
<rich:tree value="#{testTreeBean.data}" treeNodeVar="item">
<rich:treeNode
iconLeaf="images/tree/leaf.gif"
icon="/images/tree/folder.gif"
rendered="#{!item.error}">
<h:outputText value="#{item.data}" />
</rich:treeNode>
<rich:treeNode
iconLeaf="images/tree/leaf_e.gif"
icon="/images/tree/folder_e.gif"
rendered="#{item.error}">
<h:outputText value="#{item.data}" />
</rich:treeNode>
</rich:tree>
public CustomTreeNode getData() {
CustomTreeNode root = new CustomTreeNode();
root.setData("Root");
CustomTreeNode folder1 = new CustomTreeNode();
folder1.setData("folder1");
CustomTreeNode folder2 = new CustomTreeNode();
folder2.setData("folder2");
root.addChild(1, folder1);
root.addChild(1, folder2);
return root;
}
public class CustomTreeNode extends TreeNodeImpl<String> {
private boolean isError;
public boolean isError() {
return isError;
}
public void setError(boolean isError) {
this.isError = isError;
}
}
Hello Alexey,
That's because of new nodes creating for model caching. I've filed JIRA issue: https://jira.jboss.org/jira/browse/RF-6745. Set preserveModel="none" to switch caching off.