Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.1.0.BETA2, 3.1
-
Fix Version/s: 3.1.0.RC1, 3.1, EE-3.0.0.GA_P01
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces3 Trunk Revision# 29244
Firefox, Chrome, IE
-
Assignee Priority:P1
Description
When embedding some ace components inside an f:ajax tag there is a JS error and the component doesn't function. (So far this has been reproduced with ace:tooltip and ace:panel and can not be reproduced with ace:menu)
ace:tooltip:
Error: syntax error
Source File: http://localhost:8080/Case10868Example/
Line: 17, Column: 579
Source Code:
ice.ace.jq(function() {widget_form_testTooltip = new ice.ace.Tooltip({"global":false,"id":"form:testTooltip","displayListener":false,"forComponent":"form:output",content:document.getElementById('form:testTooltip_content').innerHTML,"show":{"when":{"event":"mouseover"},"delay":140,"effect":{"length":500,"type":"fade"}},"hide":{"when":{"event":"mouseout"},"delay":0,"fixed":true,"effect":{"length":500,"type":"fade"}},"position":{"container":ice.ace.jq(ice.ace.escapeClientId('form:output')).parent(),"corner":{"target":"bottomRight","tooltip":"topLeft"}},"behaviors":{"display":}});});
ace:panel:
Error: syntax error
Source File: http://localhost:8080/panel/panelFAjax.jsf
Line: 9, Column: 176
Source Code:
widget_frm_panel = new ice.ace.Panel("frm:panel",{"visible":true,"toggleable":true,"toggleSpeed":1000,"collapsed":false,"closable":true,"closeSpeed":1000,"behaviors":{"toggle":}});
I've attached a simplified test case.
ace:tooltip:
Error: syntax error
Source File: http://localhost:8080/Case10868Example/
Line: 17, Column: 579
Source Code:
ice.ace.jq(function() {widget_form_testTooltip = new ice.ace.Tooltip({"global":false,"id":"form:testTooltip","displayListener":false,"forComponent":"form:output",content:document.getElementById('form:testTooltip_content').innerHTML,"show":{"when":{"event":"mouseover"},"delay":140,"effect":{"length":500,"type":"fade"}},"hide":{"when":{"event":"mouseout"},"delay":0,"fixed":true,"effect":{"length":500,"type":"fade"}},"position":{"container":ice.ace.jq(ice.ace.escapeClientId('form:output')).parent(),"corner":{"target":"bottomRight","tooltip":"topLeft"}},"behaviors":{"display":}});});
ace:panel:
Error: syntax error
Source File: http://localhost:8080/panel/panelFAjax.jsf
Line: 9, Column: 176
Source Code:
widget_frm_panel = new ice.ace.Panel("frm:panel",{"visible":true,"toggleable":true,"toggleSpeed":1000,"collapsed":false,"closable":true,"closeSpeed":1000,"behaviors":{"toggle":}});
I've attached a simplified test case.
Activity
Cruz Miraback
created issue -
Cruz Miraback
made changes -
Field | Original Value | New Value |
---|---|---|
Attachment | panel.war [ 14517 ] |
Cruz Miraback
made changes -
Environment | ICEfaces3 Trunk Revision# 29244 |
ICEfaces3 Trunk Revision# 29244 Firefox, Chrome, IE |
Salesforce Case | [] | |
Description |
When embedding some ace components inside an f:ajax tag there is a JS error and the component doesn't function. (Reproduced with ace:tooltip and ace:panel, can not reproduce with ace:menu) ace:tooltip: Error: syntax error Source File: http://localhost:8080/Case10868Example/ Line: 17, Column: 579 Source Code: ice.ace.jq(function() {widget_form_testTooltip = new ice.ace.Tooltip({"global":false,"id":"form:testTooltip","displayListener":false,"forComponent":"form:output",content:document.getElementById('form:testTooltip_content').innerHTML,"show":{"when":{"event":"mouseover"},"delay":140,"effect":{"length":500,"type":"fade"}},"hide":{"when":{"event":"mouseout"},"delay":0,"fixed":true,"effect":{"length":500,"type":"fade"}},"position":{"container":ice.ace.jq(ice.ace.escapeClientId('form:output')).parent(),"corner":{"target":"bottomRight","tooltip":"topLeft"}},"behaviors":{"display":}});}); ace:panel: Error: syntax error Source File: http://localhost:8080/panel/panelFAjax.jsf Line: 9, Column: 176 Source Code: widget_frm_panel = new ice.ace.Panel("frm:panel",{"visible":true,"toggleable":true,"toggleSpeed":1000,"collapsed":false,"closable":true,"closeSpeed":1000,"behaviors":{"toggle":}}); I've attached a simplified test case. |
When embedding some ace components inside an f:ajax tag there is a JS error and the component doesn't function. (So far this has been reproduced with ace:tooltip and ace:panel and can not be reproduced with ace:menu) ace:tooltip: Error: syntax error Source File: http://localhost:8080/Case10868Example/ Line: 17, Column: 579 Source Code: ice.ace.jq(function() {widget_form_testTooltip = new ice.ace.Tooltip({"global":false,"id":"form:testTooltip","displayListener":false,"forComponent":"form:output",content:document.getElementById('form:testTooltip_content').innerHTML,"show":{"when":{"event":"mouseover"},"delay":140,"effect":{"length":500,"type":"fade"}},"hide":{"when":{"event":"mouseout"},"delay":0,"fixed":true,"effect":{"length":500,"type":"fade"}},"position":{"container":ice.ace.jq(ice.ace.escapeClientId('form:output')).parent(),"corner":{"target":"bottomRight","tooltip":"topLeft"}},"behaviors":{"display":}});}); ace:panel: Error: syntax error Source File: http://localhost:8080/panel/panelFAjax.jsf Line: 9, Column: 176 Source Code: widget_frm_panel = new ice.ace.Panel("frm:panel",{"visible":true,"toggleable":true,"toggleSpeed":1000,"collapsed":false,"closable":true,"closeSpeed":1000,"behaviors":{"toggle":}}); I've attached a simplified test case. |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 3.1 [ 10312 ] | |
Assignee Priority | P2 | |
Assignee | Mark Collette [ mark.collette ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | 3.1.0.RC1 [ 10337 ] | |
Assignee Priority | P2 | P1 |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #29556 | Wed Jun 20 05:54:00 MDT 2012 | mark.collette | |
Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/renderkit/CoreRenderer.java
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #29557 | Wed Jun 20 07:03:12 MDT 2012 | mark.collette | |
Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/generator/src/org/icefaces/ace/meta/annotation/ClientBehaviorHolder.java
MODIFY /icefaces3/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/behavior/ClientBehaviorHolder.java MODIFY /icefaces3/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/artifacts/ComponentArtifact.java |
Mark Collette
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Ken Fyten
made changes -
Salesforce Case | [] | |
Fix Version/s | EE-3.0.0.GA_P01 [ 10327 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #30622 | Mon Aug 27 20:48:32 MDT 2012 | mark.collette | |
Files Changed | ||||
MODIFY
/icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/renderkit/CoreRenderer.java
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #30623 | Mon Aug 27 21:24:35 MDT 2012 | mark.collette | |
Files Changed | ||||
MODIFY
/icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/generator/src/org/icefaces/ace/generator/behavior/ClientBehaviorHolder.java
MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/generator/src/org/icefaces/ace/generator/artifacts/ComponentArtifact.java MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/generator/src/org/icefaces/ace/meta/annotation/ClientBehaviorHolder.java |
Mark Collette
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
From what I understand, we don't support f:ajax within ACE components. And when you wrap a block of components with f:ajax, it's as if you put the f:ajax with every component in that block that is a ClientBehaviorHolder that supports the eventName that the f:ajax is using. So really it's not valid to wrap ACE components with an f:ajax.
If there is some scenario where we're trying to make the f:ajax only apply to some h: components in the block and not any ACE components, then I would first examine if an event name had been specified, instead of being set to null, so that could keep it from being set on the ACE components, which hopefully wouldn't share that event name. If that's not doable, then we could modify the ACE generator so that our generated Base classes, which are ClientBehaviorHolder implementators, would override UIComponentBase.addClientBehavior(String eventName, ClientBehavior behavior) to specifically not add javax.faces.component.behavior.AjaxBehavior, while allowing org.icefaces.ace.component.ajax.AjaxBehavior.