myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kennard Consulting (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Commented] (MYFACES-3610) Dynamically created ClientBehaviors do not call addComponentResource
Date Thu, 07 Feb 2013 01:47:12 GMT

    [ https://issues.apache.org/jira/browse/MYFACES-3610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13573092#comment-13573092
] 

Kennard Consulting commented on MYFACES-3610:
---------------------------------------------

Leonardo,

Thank you so much for your response!

To confirm: you're saying that, in general, Application.createBehavior *should* dynamically
add resources, and that it *would* work for other ClientBehaviours. But simply that javax.faces.component.behavior.AjaxBehavior
has a bug?

In that case, I should just chase the spec team?

Regards,

Richard.
                
> Dynamically created ClientBehaviors do not call addComponentResource
> --------------------------------------------------------------------
>
>                 Key: MYFACES-3610
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3610
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.1.7
>            Reporter: Kennard Consulting
>         Attachments: DynamicBehaviourTest.zip
>
>
> I'm creating this as a JIRA issue so that I can attach a test case. However it behaves
the same on Mojarra as on MyFaces so possibly it is 'by design'?
> My question is this:
> * If I dynamically create UIComponents using Application.createComponent, I find they
automatically add any dependent resources (JS/CSS) to the h:head. This is fantastic.
> * If I dynamically create ClientBehaviours using Application.createBehavior, no dependent
resources get added.
> Am I supposed to add such resources manually? For example:
>    UIOutput js = new UIOutput();
>    js.setRendererType("javax.faces.resource.Script");
>    js.getAttributes().put("library", "mylibrary");
>    js.getAttributes().put("name", "bar.js");
>    FacesContext context = FacesContext.getCurrentInstance();
>    context.getViewRoot().addComponentResource(context, js, "head");
> If so, how am I supposed to know what they are? For example, if I am dynamically adding
an AjaxBehavior the exact name of the JavaScript file depends on which JSF implementation
I am using.

--
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

Mime
View raw message