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

Leonardo Uribe commented on MYFACES-2761:
-----------------------------------------

Yes, we are not calling isRenderAll() from any location, instead, we rely on 
getRenderIds() to check if we need to render all or not.

Reviewing the javadoc, it seems we are using "javax.faces.ViewRoot" string 
directly instead PartialResponseWriter.RENDER_ALL_MARKER.

We have this code for renderAll:

        java.util.Iterator<UIComponent> iter = viewRoot.getFacetsAndChildren();
        writer.startUpdate ("javax.faces.ViewRoot");
        while (iter.hasNext()) 
        { 
            UIComponent comp = iter.next();
            
            if (comp instanceof javax.faces.component.html.HtmlBody)
            {
                comp.encodeAll (_facesContext);
            }
        }
        writer.endUpdate();  

check for a specific instance in the component tree is not a good solution. If 
the intention is to update only everything inside <body> tag, we should check 
this condition on the javascript side. The reason is it could be possible to 
override the default implementation and use another tag that does not necessary 
extends from HtmlBody class. Examples for this problem is <tr:document> (yes, 
trinidad override everything so in that case it will work) and t:documentBody.

In theory it should be also possible to add additional component resources 
inside <head> tag.

I'll commit a fix for this one, but we need to think in more detail this stuff, 
so I'll let it open until check the code.

> PartialViewContextImpl does not respect isRenderAll()
> -----------------------------------------------------
>
>                 Key: MYFACES-2761
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2761
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.2-SNAPSHOT
>         Environment: myfaces current trunk
>            Reporter: Martin Kočí
>
> This construct should lead to complete ajax re-render of whole view (works 
> with mojarra):
> partialViewContext.setRenderAll(true);
> but it seems that myfaces don't read property renderAll during rendering at 
> all. Probably 
> org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartialRendering(UIViewRoot,
>  PhaseId) should respect this property somehow. Note: there is a possible 
> workaround:
> partialViewContext.getRenderIds().add(javax.faces.context.PartialResponseWriter.RENDER_ALL_MARKER);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to