To avoid any variable name conflict with third party libraries the code in Prototype, Scriptaculous and 'compat' component should be evaluated within a function local context.
Ken Fyten
added a comment - This needs to be configurable to preserve backwards compatibility with apps or custom components that are relying on the public Prototype JS apis.
Upon reflection, we probably don't need the configuration aspect for ICEfaces 2.0 compat mode, users can link to the Prototype.js themselves if they require it in 2.0.
Ken Fyten
added a comment - Upon reflection, we probably don't need the configuration aspect for ICEfaces 2.0 compat mode, users can link to the Prototype.js themselves if they require it in 2.0.
Prototype and Scriptaculous variable/function definitions are hidden now by wrapping them in a closure that is executed right away the icefaces-compat.js resource loads. Made public the functions used by component renderers, but namespaced them to avoid naming collisions. Changed renderers to use the new namespaced function names.
Mircea Toma
added a comment - - edited Prototype and Scriptaculous variable/function definitions are hidden now by wrapping them in a closure that is executed right away the icefaces-compat.js resource loads. Made public the functions used by component renderers, but namespaced them to avoid naming collisions. Changed renderers to use the new namespaced function names.
This needs to be configurable to preserve backwards compatibility with apps or custom components that are relying on the public Prototype JS apis.