You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Alex Burton <gr...@gmail.com> on 2006/01/20 03:39:57 UTC

fun with tree2 and a popup menu

Hi all,

I have a tree2 that has a mouse over popup menu which i want to pass some
parameters (or set some) so I can tell what node I was on when I go to a new
screen to add a new node to the tree.
I have got the code below which sort of works, except that the commandLink
actaully sets the values for every node in the tree! not just the selected
one (popup one).... can someone point out what i am doing wrong? Have
attached an image to illustrate also.

The commandLink in each popup looks like this:

                                            <h:commandLink
styleClass="document" action="#{siteBean.navigateToAddNavItem}">
                                                <t:graphicImage
value="images/document.png" border="0" />
                                                <h:outputText value="Add new
child page" />
                                                <t:updateActionListener
property="#{navItem.siteId}" value="#{siteBean.site.id}" />
                                                <t:updateActionListener
property="#{navItem.structureId}" value="#{siteBean.site.defaultStructure.id}"
/>
                                                <t:updateActionListener
property="#{navItem.parentId}" value="#{node.identifier}" />
                                            </h:commandLink>

Thanks in advance,
Alex




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
    <head>
        <%@ include file="/WEB-INF/tiles/header.jsp"%>
    </head>
    <body>
        <f:view>
            <f:loadBundle basename="com.someone.cms.view.resource.messages"
var="messages" />
            <%@ include file="/WEB-INF/tiles/menu.jsp"%>
            <br />
            <h:form id="structureForm">
                <h:outputLabel value="#{messages.site}" rendered="true"
for="site" />
                <h:selectOneMenu id="site" rendered="true" required="false"
value="#{siteBean.siteSelectedItem}" valueChangeListener="#{
siteBean.processValueChange}" onchange="submit();" immediate="true">
                    <f:selectItems value="#{siteBean.sitesSelectedItems}" />
                </h:selectOneMenu>
                <h:message styleClass="errorMessage" for="site" />
                <br />
                <hr />
                <br />
                <t:tree2 value="#{siteBean.navTreeModel}" id="tree"
var="node" varNodeToggler="t" clientSideToggle="false"
preserveToggle="false">
                    <f:facet name="node">
                        <h:panelGroup>
                            <t:graphicImage value="images/document.png"
border="0" />
                            <h:outputText value="#{node.description}" />
                            <t:graphicImage value="images/spacer.gif"
width="10" height="1" border="0" />
                            <t:popup styleClass="popup"
closePopupOnExitingPopup="true">
                                <t:graphicImage value="images/edit.png"
border="0" />
                                <f:facet name="popup">
                                    <h:panelGroup>
                                        <h:panelGrid columns="1">
                                            <h:outputText value="#{
node.description}" />
                                            <h:commandLink
styleClass="document" action="#{siteBean.navigateToAddNavItem}">
                                                <t:graphicImage
value="images/document.png" border="0" />
                                                <h:outputText value="Add new
child page" />
                                                <t:updateActionListener
property="#{navItem.siteId}" value="#{siteBean.site.id}" />
                                                <t:updateActionListener
property="#{navItem.structureId}" value="#{siteBean.site.defaultStructure.id}"
/>
                                                <t:updateActionListener
property="#{navItem.parentId}" value="#{node.identifier}" />
                                            </h:commandLink>
                                        </h:panelGrid>
                                    </h:panelGroup>
                                </f:facet>
                            </t:popup>
                        </h:panelGroup>
                    </f:facet>
                </t:tree2>
            </h:form>
        </f:view>
    </body>
</html>