[
https://issues.jboss.org/browse/RF-13550?page=com.atlassian.jira.plugin.s...
]
Brian Leathem commented on RF-13550:
------------------------------------
I spent some time playing with this in various scenarios and I've concluded it's
not a good idea. We end up losing what is currently a good encapsulation of concerns and
end up polluting our widget object with bridge functionality. I much prefer keeping these
ideas separate.
Going back to the original problem of providing legacy functions without polluting the
widget, this /can/ instead be done by "monkey patching" the widget prototype in
the bridge js file. However this presents it's own concerns in terms of properly
documenting the widget capabilities.
Instead we should just make take a clean start with the js API for 5.0 and do things
correctly. The RF 4 js API was not well standardized across components and was poorly
documented. I don't believe we will break many applications with any naming changed
in the RF 5 js API.
Refactor bridge-base so that it will allow bridges to extend widgets
--------------------------------------------------------------------
Key: RF-13550
URL:
https://issues.jboss.org/browse/RF-13550
Project: RichFaces
Issue Type: Enhancement
Security Level: Public(Everyone can see)
Components: component
Affects Versions: 5.0.0.Alpha3
Reporter: Lukáš Fryč
This will allow bridges to extend widget API and make it more natural for JSF users,
e.g.:
Editor is now:
{code}
$.widget('rf.editorBridge', $.rf.bridgeBase,
{code}
but we want:
{code}
$.widget('rf.editorBridge', $.rich.editor,
{code}
On multiple inheritance in jQuery Widget Factory:
https://forum.jquery.com/topic/how-to-extend-a-widget-factory-widget-with...
The way of extending API should be designed in that way that user calls e.g.:
{code}
#{r:component('editor')}.setValue();
{code}
but editor has (or rather should have) only a method which is named in jQuery Widget
Factory style:
{code}
data('editor').value() / data('editor').value(newValue)
editor('value') / editor('value', newValue)
{code}
So, we want bridge to add the setValue/getValue API:
{code}
$.extend(widget), { setValue: ..., getValue: ...};
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira