ICEfaces
  1. ICEfaces
  2. ICE-10786

ace:panelExpansion - expansion not working in multi-nested dataTables

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P02, 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 an ace:dataTable is nested three deep in a multi-nested dataTable, the panelExpansion for this row is not activated. Clicking the expansion button has no effect nor does it show any errors.

        Activity

        Hide
        Arturo Zambrano added a comment -

        r45982: fix in the iteration logic to identify if the expansion/contraction request is for the current table and not for nested tables; added a way to identify if the current table is nested, and in such case use appropriate 'execute' values.

        The main problem was an error in the logic for iterating over child components. The logic dictated that if it was a panel expansion request, child components shouldn't be executed. The problem was that there was no distinction between panel expansion requests, whether they were for the outer table or for the nested tables. So, when there was a panel expansion request for a nested table, the inner tables never got to execute, because of this logic. This was fixed by adding a way to distinguish between panel expansion requests of this table or of nested tables.

        Another issue was that, even with the fix above, the nested tables never got to execute by simply specifying their client IDs in the 'execute' parameter of the request. This happened with any UIData component, standard or ACE. This was fixed by adding a way to identify if this table is nested, and, in such case, use @form for the 'execute' parameter. Also, a note was added to the wiki and to the TLD documentation to either use '@form' or '@all' for the 'execute' value of the ace:ajax tag, when using such tag for the 'expand' and 'contract' events.

        Show
        Arturo Zambrano added a comment - r45982: fix in the iteration logic to identify if the expansion/contraction request is for the current table and not for nested tables; added a way to identify if the current table is nested, and in such case use appropriate 'execute' values. The main problem was an error in the logic for iterating over child components. The logic dictated that if it was a panel expansion request, child components shouldn't be executed. The problem was that there was no distinction between panel expansion requests, whether they were for the outer table or for the nested tables. So, when there was a panel expansion request for a nested table, the inner tables never got to execute, because of this logic. This was fixed by adding a way to distinguish between panel expansion requests of this table or of nested tables. Another issue was that, even with the fix above, the nested tables never got to execute by simply specifying their client IDs in the 'execute' parameter of the request. This happened with any UIData component, standard or ACE. This was fixed by adding a way to identify if this table is nested, and, in such case, use @form for the 'execute' parameter. Also, a note was added to the wiki and to the TLD documentation to either use '@form' or '@all' for the 'execute' value of the ace:ajax tag, when using such tag for the 'expand' and 'contract' events.
        Hide
        Liana Munroe added a comment -

        Tested with ICEfaces 4 trunk 45984, ee-3.3.0 maintenance branch r45983 using the attached test case. Tomcat 7, FF 34, Chrome 45, IE 11, 10, 9, 8. ICEfaces 4 trunk is verified but the issue remains on the ee-3.3.0 maintenance branch.

        Show
        Liana Munroe added a comment - Tested with ICEfaces 4 trunk 45984, ee-3.3.0 maintenance branch r45983 using the attached test case. Tomcat 7, FF 34, Chrome 45, IE 11, 10, 9, 8. ICEfaces 4 trunk is verified but the issue remains on the ee-3.3.0 maintenance branch.
        Hide
        Arturo Zambrano added a comment -

        r46052: committed fix to the 3.3 EE maintenance branch.

        Show
        Arturo Zambrano added a comment - r46052: committed fix to the 3.3 EE maintenance branch.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces ee-3.3.0 maintenance branch r46058 using the attached test case, Tomcat 7, FF 34, Chrome 45, IE 11, 10, 9, 8, 7.

        Show
        Liana Munroe added a comment - Verified ICEfaces ee-3.3.0 maintenance branch r46058 using the attached test case, Tomcat 7, FF 34, Chrome 45, IE 11, 10, 9, 8, 7.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: