Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.2
-
Component/s: Framework
-
Labels:None
-
Environment:ICEfaces, non-ICEfaces
-
Assignee Priority:P2
-
ICEsoft Forum Reference:
-
Workaround Exists:Yes
-
Workaround Description:
Description
ICEfaces should not interfere with the Ajax functions of non-ICEfaces pages.
Issue Links
- depends on
-
ICE-4949 Support the partial page process features of JSF 2.0
- Closed
---- CLONED FROM http://jira.icefaces.org/browse/ICE-4614 AS THERE IS NO OPTION TO REOPEN ----
Really? The only workaround is to: "Use ICEfaces everywhere."? This is a problem as I have a portal which mixes all kinds of portlets. Some are jsp, some jsf, and some jsf with icefaces. The problem is those that are just plain jsf have all of their ajax requests hijacked by icefaces. This is causing failures here:
function configurationOf(element) {
{ >>> return e.configuration; }return detect(parents(element),
function(e)
).configuration;
}
Since the portlet did not have the icefaces jar, it did not inject the .configuration property that this method is looking for, so this function actually returns null and any attempt to make a call against the returned value will fail. Is there a way to tell icefaces to ignore this portlet? Or more to the point could you have icefaces only hijack the functions of portlets that have the icefaces jar in their lib?
A little more investigation shows that this is done when icefaces registers an onEvent handler through a call to jsf.ajax.addOnEvent. Perhaps the handler method could fail gracefully if the configuration is not found that way the request could proceed and jsf ajax could work even with icefaces adding that handler? It seems that icefaces interfering with other non-icefaces content is a major design flaw.