Hi Jakob<br><br>Could you create an issue on MyFaces and start providing some patches<br>there?. Right now I'm trying to make cc:attribute "targets" to work on any<br>condition, including nested composite components, to see if we can solve <br>
that from Mojarra, but it will take some time.<br><br>best regards,<br><br>Leonardo Uribe<br><br><div class="gmail_quote">2010/10/29 Martin Marinschek <span dir="ltr"><<a href="mailto:mmarinschek@apache.org">mmarinschek@apache.org</a>></span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Jakob,<br>
<br>
+1 from my side,<br>
<br>
best regards,<br>
<font color="#888888"><br>
Martin<br>
</font><div><div></div><div class="h5"><br>
On 10/29/10, Jakob Korherr <<a href="mailto:jakob.korherr@gmail.com">jakob.korherr@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> Thinking more of it and trying out some prototypes, I now think<br>
> Leonardo's approach is the way to go. Of course, it would somehow be<br>
> possible to circumvent the problems mentioned before (like multiple<br>
> action listeners or the missing f: tag for client behaviors), but<br>
> after reading the vdldocs again, I think it's much more consistent<br>
> with what we have right now.<br>
><br>
> Consider the current facet solution: The user can provide facets for<br>
> the composite component and the author of the composite component can<br>
> add them to implementation-components via cc:insertFacet. And this is<br>
> exactly what we need for cc:actionSource, cc:valueHolder,<br>
> cc:editableValueHolder and cc:clientBehavior.<br>
><br>
> Thus I would propose the following new tags (from Leonardo's original<br>
> proposal):<br>
><br>
> <cc:insertActionSource name="XXX" /><br>
> <cc:insertEditableValueHolder name="XXX"/><br>
> <cc:insertValueHolder name="XXX" /><br>
> <cc:insertClientBehavior name="XXX" /><br>
><br>
> What do you think?<br>
><br>
> Regards,<br>
> Jakob<br>
><br>
> 2010/10/29 Martin Marinschek <<a href="mailto:mmarinschek@apache.org">mmarinschek@apache.org</a>>:<br>
>> Hi Gentlemen,<br>
>><br>
>> I am leaning toward Jakob's approach, but if it is not possible due to<br>
>> the constraints Leonardo mentioned, then why not add the necessary<br>
>> tags?<br>
>><br>
>> @Leonardo, Jakob: can you put your heads together and come up with a<br>
>> combined proposal?<br>
>><br>
>> best regards,<br>
>><br>
>> Martin<br>
>><br>
>> On 10/29/10, Ed Burns <<a href="mailto:edward.burns@oracle.com">edward.burns@oracle.com</a>> wrote:<br>
>>>>>>>> On Thu, 28 Oct 2010 12:56:53 -0500, Leonardo Uribe<br>
>>>>>>>> <<a href="mailto:lu4242@gmail.com">lu4242@gmail.com</a>><br>
>>>>>>>> said:<br>
>>><br>
>>> LU> Hi<br>
>>> LU> To be more explicit, this is the example that should fail:<br>
>>><br>
>>> LU> <ez:loginPanel id="loginPanel" model="#{bean}"><br>
>>> LU> <f:actionListener for="loginEvent"<br>
>>> LU> binding="#{bean.loginEventListener}" /><br>
>>> LU> <f:actionListener for="loginEvent"<br>
>>> LU> binding="#{bean.loginEventListener2}" /><br>
>>> LU> <f:actionListener for="cancelEvent"<br>
>>> LU> binding="#{bean.cancelEventListener}" /><br>
>>> LU> </ez:loginPanel><br>
>>><br>
>>> LU> <composite:interface name="loginPanel"><br>
>>> LU> <composite:actionSource name="loginEvent" /><br>
>>> LU> <composite:actionSource name="cancelEvent" /><br>
>>> LU> </composite:interface><br>
>>> LU> <composite:implementation><br>
>>> LU> <h:commandButton name="button1"><br>
>>> LU> <f:actionListener<br>
>>> LU> binding="#{cc.actionSource.loginEvent}"/><br>
>>> LU> </h:commandButton><br>
>>> LU> <x:mycompositecomponent name="button2"><br>
>>> LU> <f:actionListener<br>
>>> LU> binding="#{cc.actionSource.cancelEvent}" for="someOtherEvent"/><br>
>>> LU> </x:mycompositecomponent><br>
>>> LU> </composite:implementation><br>
>>><br>
>>> LU> In this case, the binding #{cc.actionSource.loginEvent} does not<br>
>>> point<br>
>>> to<br>
>>> LU> just<br>
>>> LU> one actionListener.<br>
>>><br>
>>> GP> Leo, IMO your example wouldn't need to fail: the nested<br>
>>> GP> actionListener with binding="#{cc.actionSource.loginEvent}" would<br>
>>> GP> need to execute *all* actionListeners that have been bound to<br>
>>> GP> "loginEvent". In this case "#{bean.loginEventListener}" and<br>
>>> GP> "#{bean.loginEventListener2}" would reside in a Map named<br>
>>> GP> cc.actionSource.loginEvent and could both be executed. Wouldn't this<br>
>>> GP> work?<br>
>>><br>
>>> The type of the binding attribute is specified thus.<br>
>>><br>
>>> Value binding expression that evaluates to an object that implements<br>
>>> javax.faces.event.ActionListener<br>
>>><br>
>>> How would you make that handle a list?<br>
>>><br>
>>> Sure, we could go and add a raft of new "bindingList" attributes to all<br>
>>> of the attached object handlers in f:, but is it worth the complexity?<br>
>>><br>
>>><br>
>>> Ed<br>
>>> --<br>
>>> | <a href="mailto:edward.burns@oracle.com">edward.burns@oracle.com</a> | office: +1 407 458 0017<br>
>>> | homepage: | <a href="http://ridingthecrest.com/" target="_blank">http://ridingthecrest.com/</a><br>
>>> | 9 work days until German Oracle User's Group Conference<br>
>>><br>
>><br>
>><br>
>> --<br>
>><br>
>> <a href="http://www.irian.at" target="_blank">http://www.irian.at</a><br>
>><br>
>> Your JSF powerhouse -<br>
>> JSF Consulting, Development and<br>
>> Courses in English and German<br>
>><br>
>> Professional Support for Apache MyFaces<br>
>><br>
><br>
><br>
><br>
> --<br>
> Jakob Korherr<br>
><br>
> blog: <a href="http://www.jakobk.com" target="_blank">http://www.jakobk.com</a><br>
> twitter: <a href="http://twitter.com/jakobkorherr" target="_blank">http://twitter.com/jakobkorherr</a><br>
> work: <a href="http://www.irian.at" target="_blank">http://www.irian.at</a><br>
><br>
<br>
<br>
</div></div>--<br>
<div><div></div><div class="h5"><br>
<a href="http://www.irian.at" target="_blank">http://www.irian.at</a><br>
<br>
Your JSF powerhouse -<br>
JSF Consulting, Development and<br>
Courses in English and German<br>
<br>
Professional Support for Apache MyFaces<br>
</div></div></blockquote></div><br>