Details
-
Type: Bug
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 3.0.RC1
-
Fix Version/s: 3.2
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 3.0 RC1a Build 7
Description
Parent Table
- Child Table
- Sub Child Table
The commandLink is located in a column for the Sub Child Table. The methods are not called when clicked but an update is sent. The Sub Child Table becomes collapsed. If the link is clicked on the first row of the table then it works correctly, calling its action method.
-
Hide
- Case10815Example.war
- 9.36 MB
- Arran Mccullough
-
- META-INF/MANIFEST.MF 0.1 kB
- META-INF/context.xml 0.1 kB
- WEB-INF/classes/.../example/ChildItem.class 1 kB
- WEB-INF/classes/.../example/ParentItem.class 1 kB
- WEB-INF/classes/.../SubChildItem.class 0.9 kB
- WEB-INF/classes/.../example/TestBean.class 2 kB
- WEB-INF/lib/commons-beanutils.jar 226 kB
- WEB-INF/lib/commons-collections.jar 558 kB
- WEB-INF/lib/commons-digester.jar 140 kB
- WEB-INF/lib/commons-logging.jar 52 kB
- WEB-INF/lib/icefaces-ace.jar 2.92 MB
- WEB-INF/lib/icefaces-compat.jar 2.67 MB
- WEB-INF/lib/icefaces.jar 328 kB
- WEB-INF/lib/javax.faces.jar 2.48 MB
- WEB-INF/web.xml 2 kB
- welcomeICEfaces.xhtml 3 kB
-
- Case10815Example.zip
- 20 kB
- Arran Mccullough
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
If the first parent row is expanded, then things work properly. If it is not expanded, then the child table expansions can unexpand when clicking on the links within them, and the commandLink actionListener won't fire.
This was found to work on trunk, most likely fixed by 26898. We should confirm that it's alright in 3.0.0.RC2.
The original steps to reproduce the issue look to be fixes but now there is a new issue. If the first row is expanded then clicking on the link in the second row does not work. This looks to be an issue even with the latest ICEfaces 3 trunk.
Steps to reproduce current issue:
- Expand the first rows expansion.
- Expand the second rows expansion and also the nested tables first row to show the Sub Child table.
- Click on the sub Childs table links. No action is called.
- If the first row is contracted then the link works correctly.
Steps mentioned in my previous comment are still seen with a recent trunk build.
This issue stems from an error with our expansion state- the calls to getStateMap() during decoding for the child tables always return the state map of the 1st child table.
This may be due to caching within getStateMap or issues with our state saving itself.
Fixed issue by removing component-level stateMap caching, however the additional reloading of the data model required to now obtain the correct stateMap, increases an already noticeable slowdown in my test case.
The only foreseeable fix at the moment would be a sizeable refactoring to implement a DataTableContext object that would ferry the StateMap and other common objects, reducing the amount that they are loaded from the state. Even then this would not be applicable for some instances where StateMap is handled - like in setRowIndex.
Revision #30029
Committed by nils.lundquist
A minute ago
ICE-7624 - Resolved decoding state sharing issue by removing component-level cached RowStateMap.
Revision #30383
Committed by nils.lundquist
39 minutes ago
ICE-7624 - Refactored DataTable rendering to use a helper object to hold state preventing issues with indexed client ids.
Steps to reproduce with attached test case: