Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 2.0-Beta1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 2 ACE Liferay portlet 6
-
Affects:Compatibility/Configuration
Description
f.applyConfig is not a function
The Chrome JavaScript console supplies a stack trace:
Loading modules
barebone.jsp:1Uncaught TypeError: Object [object Object] has no method 'applyConfig'
YUI [barebone.jsp:1]
YUI [barebone.jsp:1]
ice.yui3.use [icefaces-2-ace:55]
(anonymous function) [icefaces-2-ace:83]
Issue Links
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
After analyzing what is going on when 3.2.* and 3.1.* libraries are mixed I can tell now that is not quite possible to use them together. In the Liferay case the 3.2.0pr2 library is loaded first thus defining YUI variable and YUI.prototype methods. When 3.1.1 library is loaded later on the YUI variable is not redefined (see comment: "If YUI is already defined, the existing YUI object will not be overwritten so that defined namespaces are preserved."). But, the YUI.prototype is redefined when 3.1.1 library is loaded. So when you invoke YUI function the 3.2.0pr2 function code tries to invoke a method defined on the YUI.prototype: YUI.prototype.applyConfig. Unfortunately the 'applyConfig' function does not exists anymore because 3.1.1 library replaced the YUI prototype.
Note that support for using ACE components with Liferay 5 was added in ICEfaces 2.0.2. This issue pertains only to using Liferay 6 with ACE components.
This is scheduled for resolution with ICEfaces 2.1.