[ 
https://issues.apache.org/jira/browse/TRINIDAD-1055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493281#comment-13493281
 ] 

Lewis Henderson edited comment on TRINIDAD-1055 at 11/8/12 4:26 PM:
--------------------------------------------------------------------

I am having major problems with the same/similar issue. It seems that NO events 
are fired on editable components inside columns when the rootNodeRendered is 
set to false. This also meens that the components are not saving their values 
etc!
I am seeing this in 2.0.0.

                
      was (Author: cobraflow):
    I am having major problems with the same/similar issue. It seems that NO 
events are fired on editable components inside columns when the 
rootNodeRendered is set to false. This also meens that the components are not 
saving their values etc!
                  
> Navigation from treeTable fails if rootNodeRendered="false"
> -----------------------------------------------------------
>
>                 Key: TRINIDAD-1055
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1055
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions: 1.0.7-core
>         Environment: Observed with Windows XP, IE6 or Firefox 2.0.0.14, 
> Apache MyFaces Core 1.1.5 and Trinidad 1.0.7.
>            Reporter: Dirk Krummacker
>            Assignee: Andrew Robinson
>
> I have a simple JSP page with only a commandButton and a treeTable. The 
> commandButton is wired to an action listener method that populates a list 
> with nodes and places it into page flow scope. This node list serves as the 
> treeTable's model. There is a column in the treeTable displaying a 
> commandLink, clicking on this link causes an action that is navigating to a 
> second page. The backing bean is in request scope.
> When I use the default rootNodeRendered="true", this page works as expected: 
> First the treeTable is empty. Clicking the button fills it, and now I can 
> open and close all nodes. If I click on a commandLink in the treeTable, I am 
> taken to the correct page. Everything is fine.
> However if I now set the treeTable's attribute rootNodeRendered="false" (and 
> change nothing otherwise), the commandLink navigation stops working. I still 
> can open/close nodes, but any click on a commandLink just causes the page to 
> refresh.
> What is more, if I now click on "Expand all", the commandLinks suddenly start 
> working again, just as if this "Expand All" click
> "repaired" the treetable. Also, if I specify initiallyExpanded="true" in the 
> JSP it works even if the root node is hidden.
> There is no change in behavior if the action method is specified on the bean 
> instead of the row object.
> ----- treeTable.jsp -----
> <%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
> <%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f"%>
> <%@ taglib uri="http://myfaces.apache.org/trinidad"; prefix="tr"%>
> <%@ taglib uri="http://myfaces.apache.org/trinidad/html"; prefix="trh"%>
> <f:view>
>        <trh:html>
>        <trh:head title="TreeTable" />
>        <trh:body>
>                <tr:form>
>                        <tr:commandButton text="Populate"
>                                
> actionListener="#{treeTableBean.actionListener}" />
>                        <tr:treeTable value="#{treeTableBean.treeModel}" 
> var="node"
> rootNodeRendered="false">
>                                <f:facet name="nodeStamp">
>                                        <tr:column sortable="true">
>                                                <f:facet name="header">
>                                                        <tr:outputText 
> value="Name" />
>                                                </f:facet>
>                                                <tr:commandLink 
> text="#{node.name}" action="#{node.navigate}" />
>                                        </tr:column>
>                                </f:facet>
>                        </tr:treeTable>
>                </tr:form>
>        </trh:body>
>        </trh:html>
> </f:view>
> ----- TreeTableBean.java -----
> public class TreeTableBean {
>    public TreeModel getTreeModel() {
>        RequestContext requestContext = RequestContext.getCurrentInstance();
>        Map<String, Object> pageFlowScope = requestContext.getPageFlowScope();
>        List<Node> contents = (List<Node>) pageFlowScope.get("contents");
>        if (contents == null) {
>            contents = Collections.emptyList();
>            pageFlowScope.put("contents", contents);
>        }
>        return new ChildPropertyTreeModel(contents, "children");
>    }
>    public void actionListener(ActionEvent event) {
>        List<Node> noChildren = Collections.emptyList();
>        List<Node> childrenOfRoot = new ArrayList<Node>();
>        List<Node> childrenOfA = new ArrayList<Node>();
>        childrenOfA.add(new Node("aa", noChildren));
>        childrenOfA.add(new Node("ab", noChildren));
>        childrenOfA.add(new Node("ac", noChildren));
>        childrenOfRoot.add(new Node("a", childrenOfA));
>        List<Node> childrenOfB = new ArrayList<Node>();
>        childrenOfB.add(new Node("ba", noChildren));
>        childrenOfB.add(new Node("bb", noChildren));
>        childrenOfB.add(new Node("bc", noChildren));
>        childrenOfRoot.add(new Node("b", childrenOfB));
>        Node root = new Node("root", childrenOfRoot);
>        List<Node> contents = new ArrayList<Node>();
>        contents.add(root);
>        RequestContext requestContext = RequestContext.getCurrentInstance();
>        Map<String, Object> pageFlowScope = requestContext.getPageFlowScope();
>        pageFlowScope.put("contents", contents);
>    }
>    public static class Node implements Serializable {
>        private static final long serialVersionUID = 1L;
>        private String name;
>        private List<Node> children;
>        public Node(String name, List<Node> children) {
>            this.name = name;
>            this.children = children;
>        }
>        public String getName() {
>            return name;
>        }
>        public List<Node> getChildren() {
>            return children;
>        }
>        public String navigate() {
>            return "target";
>        }
>    }
> }
> ----- faces-config.xml -----
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE faces-config PUBLIC
>    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
>    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd";>
> <faces-config>
>        <application>
>                
> <default-render-kit-id>org.apache.myfaces.trinidad.core</default-render-kit-id>
>        </application>
>        <managed-bean>
>                <managed-bean-name>treeTableBean</managed-bean-name>
>                <managed-bean-class>TreeTableBean</managed-bean-class>
>                <managed-bean-scope>request</managed-bean-scope>
>        </managed-bean>
>        <navigation-rule>
>                <display-name>treeTable</display-name>
>                <from-view-id>/treeTable.jsp</from-view-id>
>                <navigation-case>
>                        <from-outcome>target</from-outcome>
>                        <to-view-id>/target.jsp</to-view-id>
>                </navigation-case>
>        </navigation-rule>
> </faces-config>
> ----- end -----

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to