Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0.RC1
-
Component/s: Sample Apps
-
Labels:None
-
Environment:ICEfaces 3, Showcase sample app., MyFaces 2.1.3
-
Assignee Priority:P2
Description
Using the showcase sample app. with MyFaces 2.1.3:
ace:draggable/droppable:
Table Integration:
All browsers: Clicking 'Reset Cart' removes the items from the shopping cart but the table containing the draggable items is not re-populated.
Confirmed as a MyFaces issue. Looks like the update to reset occurs on the server-side but never makes it as a client update.
Works fine in Mojarra.
ace:draggable/droppable:
Table Integration:
All browsers: Clicking 'Reset Cart' removes the items from the shopping cart but the table containing the draggable items is not re-populated.
Confirmed as a MyFaces issue. Looks like the update to reset occurs on the server-side but never makes it as a client update.
Works fine in Mojarra.
r26883 - Fixed MyFaces table + other component out of sync interaction. MyFaces appears to generate the DataModel for the DataTable lifecycle before the feature being used in this issue has a chance to alter the backing List of the DataTable. Since the DataModel is cached for the life of the component (as was derived from the Mojarra behaviour for getDataModel) we must regenerate the dataModel prerender to catch the changes that have been made. This is required in Mojarra when the DataTable has altered its own backing List during the lifecycle, for example in filtering. The autofiltering the table attempts during its first render is responsible for the state saving change Deryk originally made fixing the issue by continually attempting a filter, and thus regenerating the model.