Details
-
Type: Bug
-
Status: Closed
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: 2.1-Beta2, 3.0.RC1
-
Component/s: Documentation
-
Labels:None
-
Environment:MyFaces 2 ICEfaces 3 ACE
-
Assignee Priority:P1
Description
The Panel Listeners demo does not work when running with MyFaces 2. The methods of the PanelListener that are registered to handle the "toggle" and "close" events are never fired.
The events used to work in a previous revision (26555) but that was when each menu link was bookmarkable and triggered a full page load. That scenario still works - ie if you load the panelListener.xhtml file on its own, the panel events do fire.
So the problem is related to ace:ajax listeners that are added to the component tree dynamically after the page has initially been rendered.
The events used to work in a previous revision (26555) but that was when each menu link was bookmarkable and triggered a full page load. That scenario still works - ie if you load the panelListener.xhtml file on its own, the panel events do fire.
So the problem is related to ace:ajax listeners that are added to the component tree dynamically after the page has initially been rendered.
Issue Links
Activity
Deryk Sinotte
created issue -
Deryk Sinotte
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Deryk Sinotte
made changes -
Salesforce Case | [] | |
Component/s | Documentation [ 10018 ] | |
Component/s | ACE-Components [ 10050 ] | |
Affects Version/s | 3.0.RC1 [ 10300 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P1 | |
Priority | Major [ 3 ] | Critical [ 2 ] |
Deryk Sinotte
made changes -
Deryk Sinotte
made changes -
Deryk Sinotte
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Deryk Sinotte
made changes -
Ken Fyten
made changes -
Fix Version/s | 3.0.RC2 [ 10313 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
A couple of other things to note:
I checked another example, the Date Time Entry Ajax Submit example as it's characteristics are very similar to to the Panel Listeners and it turns out that the listener is not fired there either. It's just that there is nothing in the UI to make this easily detectable. The setter is actually updating the date.
To boil down what I think the problem is. The AjaxBehavior(s) associated with the component are being handled differently than Mojarra. When you interact with the component
Mojarra:
AjaxBehaviour 'A' is created as part of Facelets construction
Listener is associated
AjaxBehaviour 'B' is created as part of View restoration
Listener is not associated
AjaxBehaviour 'A' is used (which has the associated Listener)
MyFaces:
AjaxBehaviour 'A' is created as part of Facelets construction
Listener is associated
AjaxBehaviour 'B' is created as part of View restoration
Listener is not associated
AjaxBehaviour 'B' is used (which does not have the associated Listener)