Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1.3-SNAPSHOT
-
None
-
None
Description
valueChangeNotifier doesn't work from dataTables. The listener method does get called, but the row number on the data model is not set.
The reason for this behavior is that in the validate stage HtmlDataTable queues its events by wrapping them in FacesEventWrapper(), which contains the correct rowIndex.
When this event is broadcast after the VALIDATE phase, the event is unwrapped, the data model is updated with the correct row index and the unwrapped event is passed on to the component.
In case of valueChangeNotifier, the registered listener is ValueChangeCollector, which doesn't process the event, but rather queues it in ValueChangeManager for processing after the UPDATE_MODEL phase.
The listener method is called from ValueChangeManager.fireEvents(), which doesn't set up the row index in the data model.