Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA_P02, EE-3.3.0.GA_P03
-
Fix Version/s: EE-3.3.0.GA_P04, 4.2.BETA, 4.2
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Tomcat 7/8, All browsers. ICEfaces ee-3.3.0 maintenance branch
Description
An ace:dataTable with multiple levels of child rows can not be re-expanded after expanding to the deepest level.
This can be demonstrated with the QA dataTable /views/configPanelTest.jsf
1.) Load the test app ( /views/configPanelTest.jsf) using ee-3.3.0 maintenance branch dataTable
2.) Expand the last row in the table twice to reveal the sub-rows.
3.) Contract the rows to the parent level
4.) Try to expand the rows again, the last child row does not expand.
This can be demonstrated with the QA dataTable /views/configPanelTest.jsf
1.) Load the test app ( /views/configPanelTest.jsf) using ee-3.3.0 maintenance branch dataTable
2.) Expand the last row in the table twice to reveal the sub-rows.
3.) Contract the rows to the parent level
4.) Try to expand the rows again, the last child row does not expand.
I examined that last issue, and it's not really an issue. It's just the way things work.
In that test page, the table uses both row expansion and panel expansion, and it's the expansion panel that remains open after contracting the main row. There is only one expansion panel associated with one main row. Because there's only one expansion toggler for both types on expansion, and this table has both types of expansion, then the very last expansion toggler is used for the panel expansion, while all the others are used for row expansion. So, contracting the parent row also contracts all child rows but not the expansion panel. If we also contracted the expansion panel, then we wouldn't be allowing the possibility of only showing the expansion panels (without showing the child rows). There could be a counter argument that maybe the user would intend to close all the child rows and the expansion panel when contracting the main row, but that really would depend on how each table is set up, how many child rows it has, how it's meant to be used, etc. It's better to opt to keep both types of expansion separate and thus allow for more possibilities.