Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Invalid
-
Affects Version/s: 2.0-Alpha2
-
Fix Version/s: 3.1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 2.0, Sparkle component platform
-
Affects:Compatibility/Configuration
Description
1. The Sparkle Component.js utility file requires a general review to ensure that is using latest APIs, techniques.
2. Component.js baseline attribute sync function in updateProperties only works if YUI comp has 'get' and 'set' functions, also only works with basic data types, not objects (Date, etc.). Impl. custom updateProperties function (as in Calendar) is quite involved and "fragile", requiring a complex series of steps that are not all comprehended at this time, but found to be necessary via trial-and-error. We should consider enhancing the update-attributes function to handle more complex attribute types, and be more tolerant of components that lack the get/set methods, etc.
2. Component.js baseline attribute sync function in updateProperties only works if YUI comp has 'get' and 'set' functions, also only works with basic data types, not objects (Date, etc.). Impl. custom updateProperties function (as in Calendar) is quite involved and "fragile", requiring a complex series of steps that are not all comprehended at this time, but found to be necessary via trial-and-error. We should consider enhancing the update-attributes function to handle more complex attribute types, and be more tolerant of components that lack the get/set methods, etc.
3. The common updateProperties() function calls initialize() when no attached JSContext, otherwise it sets jsProps entries into the javascript object. We should add support, in the non-initialize() case, for invoking a callback function, given by components' updateProperties, which can do arbitrary update, including setting the value from the hidden input field.