ICEfaces
  1. ICEfaces
  2. ICE-10723

ace:tree - setAllExpanded(true) doesn't expand all rows

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-4.0.0.GA, EE-3.3.0.GA_P03
    • Fix Version/s: 4.1, EE-3.3.0.GA_P04
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      When using the ace:tree stateMap to programmatically expand all nodes, the initial call to this only expands one level of nodes. Executing the action again shows the second level of nodes. After this, all nodes will show up expanded but not the first call.

        Activity

        Arran Mccullough created issue -
        Hide
        Arran Mccullough added a comment -

        Attached test case that shows this issue.

        Steps:

        • Load welcomeICEfaces.jsf
        • Click on the Expand Nodes button, only the Countries (root) node is expanded.
        • Click on the Expand nodes button again, the Provinces nodes are now expanded.
        • Click on the Contract nodes button. All nodes are contracted.
        • Click on the Expand nodes button, all nodes are expanded.
        Show
        Arran Mccullough added a comment - Attached test case that shows this issue. Steps: Load welcomeICEfaces.jsf Click on the Expand Nodes button, only the Countries (root) node is expanded. Click on the Expand nodes button again, the Provinces nodes are now expanded. Click on the Contract nodes button. All nodes are contracted. Click on the Expand nodes button, all nodes are expanded.
        Arran Mccullough made changes -
        Field Original Value New Value
        Attachment Case13440Example.war [ 19980 ]
        Attachment Case13440Example.zip [ 19981 ]
        Ken Fyten made changes -
        Assignee Arturo Zambrano [ artzambrano ]
        Fix Version/s 4.1 [ 11375 ]
        Fix Version/s EE-3.3.0.GA_P04 [ 12270 ]
        Assignee Priority P1 [ 10010 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #45015 Thu Jun 11 14:27:42 MDT 2015 art.zambrano ICE-10723 added utility function to populate the entire NodeStateMap before expanding/contracting all the nodes in the tree
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/model/tree/NodeStateMap.java
        Hide
        Arturo Zambrano added a comment -

        Committed fix to the 4.1 trunk at revision 45015 and to the 3.3 EE maintenance branch at revision 45016.

        The NodeStateMap only got entries of nodes that have been displayed. So. I added a utility function to populate the entire NodeStateMap before expanding/contracting all the nodes in the tree.

        Show
        Arturo Zambrano added a comment - Committed fix to the 4.1 trunk at revision 45015 and to the 3.3 EE maintenance branch at revision 45016. The NodeStateMap only got entries of nodes that have been displayed. So. I added a utility function to populate the entire NodeStateMap before expanding/contracting all the nodes in the tree.
        Arturo Zambrano made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Carmen Cristurean added a comment - - edited

        Verified using attached test case on 4.1 trunk r45025 / 3.3 EE maintenance branch r45025 in IE11/10/9/8, Firefox34, Chrome43.
        Note: in order to use attached test case, the commons-collections.jar should be added to the .war file.

        Test case has been added to the QA regressions suite for ace:tree:
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/tree (IF 4.1 trunk)
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Nightly/tree (EE 3.3 maintenance)

        Show
        Carmen Cristurean added a comment - - edited Verified using attached test case on 4.1 trunk r45025 / 3.3 EE maintenance branch r45025 in IE11/10/9/8, Firefox34, Chrome43. Note: in order to use attached test case, the commons-collections.jar should be added to the .war file. Test case has been added to the QA regressions suite for ace:tree: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/tree (IF 4.1 trunk) http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Nightly/tree (EE 3.3 maintenance)
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #46235 Tue Nov 17 14:25:07 MST 2015 art.zambrano ICE-10723 modified original fix to create a static key set first, in order to avoid ConcurrentModificationException exceptions when invoking callbacks
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/model/tree/NodeStateMap.java
        Hide
        Arturo Zambrano added a comment -

        r45235: modified original fix to create a static key set first, when populating the NodeStateMap, in order to avoid ConcurrentModificationException exceptions when invoking callbacks
        r45236: committed fix to the 3.3 EE maintenance branch

        Show
        Arturo Zambrano added a comment - r45235: modified original fix to create a static key set first, when populating the NodeStateMap, in order to avoid ConcurrentModificationException exceptions when invoking callbacks r45236: committed fix to the 3.3 EE maintenance branch
        Arturo Zambrano made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Carmen Cristurean added a comment - - edited

        Ran the QA ace:tree regressions on ICEfaces4 trunk/ EE-3.3.0-maintenance branch r 46236:
        On ICEfaces4 trunk, the Ajax "reorder" event tests fail, as clicking on the + fails to drag a node, dragging the entire tree.
        On EE-3.3.0-maintenance branch, most of the demos fail to render the nodes (+ signs), see as example /treeOnly.jsf. There are a few demos rendering correctly the tree nodes, as example, /ICE-10723.jsf and /ICE-10723-lazy.jsf.

        Noticed also the province nodes are already expanded on first load of /ICE-10723-lazy.jsf, while all nodes are found contracted when first accessing /ICE-10723.jsf. Is this an issue?

        Show
        Carmen Cristurean added a comment - - edited Ran the QA ace:tree regressions on ICEfaces4 trunk/ EE-3.3.0-maintenance branch r 46236: On ICEfaces4 trunk, the Ajax "reorder" event tests fail, as clicking on the + fails to drag a node, dragging the entire tree. On EE-3.3.0-maintenance branch, most of the demos fail to render the nodes (+ signs), see as example /treeOnly.jsf. There are a few demos rendering correctly the tree nodes, as example, / ICE-10723 .jsf and / ICE-10723 -lazy.jsf. Noticed also the province nodes are already expanded on first load of / ICE-10723 -lazy.jsf, while all nodes are found contracted when first accessing / ICE-10723 .jsf. Is this an issue?
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #46240 Wed Nov 18 16:58:32 MST 2015 art.zambrano ICE-10723, ICE-10733 fix to ensure that the id rendered to call ice.ace.instance and to re-apply the reordering behaviour is the client id of the root container and not the client if of individual nodes
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tree/TreeRendererContext.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tree/TreeRenderer.java
        Hide
        Arturo Zambrano added a comment -

        r46240: fix to ensure that the id rendered to call ice.ace.instance and to re-apply the reordering behaviour is the client id of the root container and not the client if of individual nodes.

        This fix was committed to the 4.0 trunk and solves the issue above. The issue was actually caused by the widgetVar removal changes (ICE-10733).

        The difference between ICE-10723-lazy.jsf and ICE-10723.jsf is not an issue. The former has a callback specified (stateCreationCallback="#

        {treeLazyBean.initState}

        "), which, as you can see in the bean code, expands the root node when the state map is created.

        Show
        Arturo Zambrano added a comment - r46240: fix to ensure that the id rendered to call ice.ace.instance and to re-apply the reordering behaviour is the client id of the root container and not the client if of individual nodes. This fix was committed to the 4.0 trunk and solves the issue above. The issue was actually caused by the widgetVar removal changes ( ICE-10733 ). The difference between ICE-10723 -lazy.jsf and ICE-10723 .jsf is not an issue. The former has a callback specified (stateCreationCallback="# {treeLazyBean.initState} "), which, as you can see in the bean code, expands the root node when the state map is created.
        Hide
        Arturo Zambrano added a comment -

        r46244: added jQuery UI CSS resources as a resource dependency for ace:tree (3.3 EE maintenance branch).

        This solves the issue in 3.3 with the icons not displaying. It wasn't related to previous fixes of this JIRA.

        Show
        Arturo Zambrano added a comment - r46244: added jQuery UI CSS resources as a resource dependency for ace:tree (3.3 EE maintenance branch). This solves the issue in 3.3 with the icons not displaying. It wasn't related to previous fixes of this JIRA.
        Arturo Zambrano made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: