Hello Tapestry,
I faced a problem with strange behavior of tacos:tree treeState.
I put directLink inside of tree node with folliwng custom action:
<property-specification name="treeState" type="java.util.Set"
persistent="yes" initial-value="new java.util.HashSet()" />
<span jwcid="[EMAIL PROTECTED]:Tree" contentProvider="ognl:contentProvider"
value="ognl:node" state="ognl:treeState" keyProvider="ognl:keyProvider">
<a jwcid="@DirectLink" listener="ognl:listeners.nodeClick"
parameters="ognl:node.UID" id='ognl:node.UID' style="display:none"><span
jwcid="@Insert" value="ognl:node.name"/></a>
</span>
public void nodeClick(IRequestCycle cycle)
{
Object[] parameters = cycle.getServiceParameters();
if (null != _parameters && _parameters.length > 0)
{
String uid = (String) _parameters[0];
Node targetNode = findNode(getContentProvider().getElements(),
_uid);
if(null == targetNode.getParent() && !targetNode.isSelected())
{
ITreeManager _treeManager = getTreeManager();
_treeManager.collapseAll();
_treeManager.setExpanded(targetNode, true);
}
}
}
The purpose of method is collapse all previously expanded nodes and
have target expanded. In debug mode if've found that after execution
of nodeClick() my persistent property treeState contains target node key but in
the pageBeginRender() method treeState was empty. This caused target
node to be collapsed.
Another strange behavior is when I try using ITreeManager to set the root
element to be initially
expanded. And it is really expanded, but after next click at any
root's chlid "expand" button causes the root to callapse.
Does anybody know a workaround of this problem?
--
Best regards,
gvp mailto:[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]