Problem: Rendering rich: tree using recursiveTreeNodesAdapto
allforjava Feb 12, 2009 5:44 AMHi,
I want to perform a edit action [navigate to edit page] using contectMenu on each treeNode. Presetly the contextMenu is displayed on nodes however the page is not navigated from each node. Only selection of nodes from some nodes [first 2/3 hierarchy] menuItem action is performed.
I'hv tried both the options
1.contextMenu within treeNode [working partially as described above] and 2.contextMenu outside the rich:tree using componentControl
Please guide as how it can be resolved. The code is as below [commented code, used with componentControl (2nd option) ]
Thank you in advance !
-------------------------------------------------------------------------------------
TaskTree.xhtml
<a:form id="tasksSearch" styleClass="edit">
<!-- CONTEXT MENU
<rich:contextMenu attached="true" id="treeMenu" submitMode="ajax">
<rich:menuItem>
Selected Task ID:<b>{taskId}</b>
</rich:menuItem>
<rich:menuItem action="Edit">
<h:graphicImage value="/img/edit.gif" border="0"></h:graphicImage>
<h:outputText value="#{resourceBundle.labels['list.edit']}"></h:outputText>
<a:actionparam name="tasksId" value="{tasksId}"/>
</rich:menuItem>
</rich:contextMenu>
-->
<!-- TREE -->
<rich:panel>
<rich:tree id="tasksTree" switchType="client">
<rich:recursiveTreeNodesAdaptor roots="#{tasksHome.instance.tasks == null? tasksHome.instance : tasksHome.instance.tasks}" var="taskItem" nodes="#{taskItem.taskses}">
<rich:treeNode icon="/img/down.gif">
<h:outputText value="#{taskItem.id}"/>
<!-- Inner contextMenu -->
<rich:contextMenu event="oncontextmenu" attached="true" id="treeMenu" submitMode="ajax">
<rich:menuItem>
Selected Task ID:<b>#{taskItem.id}</b>
</rich:menuItem>
<rich:menuItem action="Edit" limitToList="true">
<h:graphicImage value="/img/edit.gif" border="0"></h:graphicImage>
<h:outputText value="#{resourceBundle.labels['list.edit']}"></h:outputText>
<f:param name="tasksId" value="#{taskItem.id}"/>
</rich:menuItem>
</rich:contextMenu>
<!-- Inner contextMenu -->
</rich:treeNode>
</rich:recursiveTreeNodesAdaptor>
<!-- ComponentControl within TREE
<rich:componentControl event="onSelected" attachTo="tasksTree" for="treeMenu" operation="show">
<f:param name="taskId" value="#{taskItem.id}"/>
</rich:componentControl>
-->
</rich:tree>
</rich:panel>
</a:form>
TasksTree.page.xml
<param name="tasksId" value="#{tasksHome.tasksId}"/>
<param name="taskId"/>
<navigation from-action="Edit">
<end-conversation />
<redirect view-id="/TasksEdit.xhtml" />
</navigation>