TreeNode and Drop down menu
gemel May 16, 2007 5:07 AMIs it possible to define a drop down menu inside a treeNode like this:
<a4j:outputPanel layout="block" id="treePanel" ajaxRendered="true"> <rich:tree name="adminTree" style="width:300px" value="#{TPZAdminTreeBean.data}" var="item" nodeFace="#{item.type}" ajaxSubmitSelection="true" icon="#{item.icon}" iconLeaf="#{item.iconLeaf}" switchType="ajax" binding="#{TPZAdminTreeBean.tree}" componentState="#{TPZAdminTreeBean.dataComponentState}"> <rich:treeNode value="item" ajaxSubmitSelection="true" type="SYSTEM" nodeSelectListener="#{TPZAdminTreeBean.onTreeSelection}"> <ddm:dropDownMenu event="oncontextmenu" value="#{item.resource.name}" > <mc:menuItem value="Nouveau domaine" submitMode="ajax" ajaxSingle="true" icon="/view/images/goblet_gold_add24.png" onclick="openNewWindow('../new/TPZAdminNewDomain.seam')"/> </ddm:dropDownMenu> </rich:treeNode> <rich:treeNode name="adminDomainNode" value="item" ajaxSubmitSelection="true" id="adminDomainNode" type="DOMAIN" nodeSelectListener="#{TPZAdminTreeBean.onTreeSelection}"> <ddm:dropDownMenu event="oncontextmenu" id="MenuItem1" verticalOffset="#{bean.verticalOffset}" horizontalOffset="#{bean.horizontalOffset}" popupWidth="#{bean.width}" value="#{item.resource.name}" jointPoint="#{bean.jointPoint}" direction="#{bean.direction}"> <mc:menuItem id="menuItem11" value="Supprimer" submitMode="ajax" ajaxSingle="true" icon="/view/images/Clear16.png" action="#{TPZAdminTreeBean.deleteNode(item)}" reRender="treePanel"/> <mc:menuItem id="menuItem12" value="Editer" submitMode="ajax" ajaxSingle="true" icon="/view/images/Edit16.png" onclick="openEditWindow('../edit/TPZAdminEditDomain.seam')" action="#{TPZAdminTreeBean.setNodeToEdit(item)}" reRender="treePanel" immediate="true"/> <mc:menuItem id="menuItem13" value="Inserer un OTU" submitMode="ajax" ajaxSingle="true" onclick="openEditWindow('../new/TPZAdminNewOTU.seam')" action="#{TPZAdminTreeBean.setNewOtuParentDomain(item)}" reRender="treePanel" /> </ddm:dropDownMenu> </rich:treeNode> <rich:treeNode name="adminLinkNode" ajaxSubmitSelection="true" value="item" id="adminLinkNode" type="LINK" nodeSelectListener="#{TPZAdminTreeBean.onTreeSelection}"> <s:link value="#{item.resource.name}" target="DetailWindow" action="#{TPZAdminTreeBean.forwardToDetailPage('LINK')}" onclick="openDetailWindow('../detail/link/TPZNOCDetailLink.seam')"/> </rich:treeNode> <rich:treeNode name="adminOtuNode" ajaxSubmitSelection="true" value="item" id="adminOtuNode" type="OTU" nodeSelectListener="#{TPZAdminTreeBean.onTreeSelection}"> <ddm:dropDownMenu event="oncontextmenu" value="#{item.resource.name}" > <mc:menuItem value="Supprimer" submitMode="ajax" ajaxSingle="true" icon="/view/images/Clear16.png" action="#{TPZAdminTreeBean.deleteNode(item)}" reRender="treePanel"/> <mc:menuItem value="Editer" submitMode="ajax" ajaxSingle="true" icon="/view/images/Edit16.png" onclick="openEditWindow('../edit/TPZAdminEditOtu.seam')" action="#{TPZAdminTreeBean.setNodeToEdit(item)}" immediate="true"/> <mc:menuSeparator/> <mc:menuItem value="Deplacer" submitMode="ajax" ajaxSingle="true" onclick="openEditWindow('../move/TPZDomainList.seam')" action="#{TPZAdminTreeBean.setNodeToMove(item)}" immediate="true"/>/> <mc:menuItem value="Copier" submitMode="ajax" ajaxSingle="true" onclick="openEditWindow('../move/TPZDomainList.seam')" action="#{TPZAdminTreeBean.setNodeToMove(item)}" immediate="true"/>/>/> </ddm:dropDownMenu> </rich:treeNode> <rich:treeNode name="adminServiceNode" value="item" ajaxSubmitSelection="true" id="adminSectionNode" type="SECTION" nodeSelectListener="#{TPZAdminTreeBean.onTreeSelection}" > <s:link value="#{item.resource.name}" target="DetailWindow" action="#{TPZAdminTreeBean.forwardToDetailPage('SECTION')}"/> </rich:treeNode> <rich:treeNode name="adminOtauNode" value="item" id="adminOtauNode" ajaxSubmitSelection="true" type="OTAU" nodeSelectListener="#{TPZAdminTreeBean.onTreeSelection}"> <h:outputText value="#{item.resource.name}" /> </rich:treeNode> </rich:tree> </a4j:outputPanel>
How do I get my tree rendered again after an operation like adding/modifying/deleting a node?
Thanks so much for your help.