[ 
https://issues.apache.org/jira/browse/TOBAGO-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bernd Bohmann resolved TOBAGO-2287.
-----------------------------------
    Resolution: Fixed

> Avoid error msg when using cc:clientBehavior with target attribute and f:ajax 
> and @this
> ---------------------------------------------------------------------------------------
>
>                 Key: TOBAGO-2287
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-2287
>             Project: MyFaces Tobago
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 6.2.0
>            Reporter: Bernd Bohmann
>            Assignee: Bernd Bohmann
>            Priority: Major
>             Fix For: 5.11.0, 6.3.0
>
>
> Error:
> {code:java}
>  o.a.myfaces.tobago.util.ComponentUtils   : No component found for 
> id='@this:selected-values', search base component is 
> 'page:filter-roles:selected-values' {code}
> in composite component:
> {code:java}
> <cc:clientBehavior name="onSelectFilterCheckbox" event="change" 
> targets="selected-values"/> {code}
>  
> Code in org.apache.myfaces.view.facelets.tag.faces.core.AjaxHandler there is 
> something like this
> {code:java}
> // execute is required
> Collection<String> execute = ajaxBehavior.getExecute();              
> if (execute.isEmpty() || execute.contains("@this"))
> {
>     Collection<String> newExecute = new ArrayList<>(execute);
>     newExecute.remove("@this");
>     for (String target : targetsArray)
>     {
>         newExecute.add("@this" + separatorChar + target);
>     }
>     ajaxBehavior.setExecute(newExecute);
> }
> // render is optional
> Collection<String> render = ajaxBehavior.getRender();              
> if (render.contains("@this"))
> {
>     Collection<String> newRender = new ArrayList<>(render);
>     newRender.remove("@this");
>     for (String target : targetsArray)
>     {
>         newRender.add("@this" + separatorChar + target);
>     }
>     ajaxBehavior.setRender(newRender);
> } {code}
>  
>  
> We need to handle _@this:<id>_ in ComponentUtils. Still I think the myfaces 
> core code is wrong the '@this' should be enough



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to