You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Marco Grimm <Ma...@rz-service-mannheim.de> on 2009/02/20 12:20:44 UTC
[Trinidad] UIXGroup inside HtmlRowLayout is leading to "INVALID HTML" if it contains HtmlCellFormat(s)
Hi,
it would be nice/helpful if RowLayoutRenderer would overwrite
"encodeAllChildren(...)" in that way, that for UIXGroup it should not pass
the UIXGroup itself to "encodeChild(...)", but the children of the UIXGroup.
This would have the result, that one could put several columns into one
UIXGroup and set them all to rendered = false by just setting the group to
rendered = false. This is not possible at the moment, because the overwrite
of "encodeChild(...)" in RowLayoutRenderer renders "td" for all components
ecxept HtmlCellFormat, which leeds to "INVALID HTML:" if you put columns
into a UIXGroup inside HtmlRowLayout.
Please tell me if you would except this change if I would submit such a
patch.
Best regards
Marco Grimm
Re: [Trinidad] UIXGroup inside HtmlRowLayout is leading to "INVALID
HTML" if it contains HtmlCellFormat(s)
Posted by Marco Grimm-2 <Ma...@rz-service-mannheim.de>.
Hi,
if UIXComponent.processFlattenedChildren() is to be used, I cannot do this,
because it seems to complecated at the first look; I would have to get into
that, which would take me to much time.
I tried another solution, but I'm not sure, whether this is correct, because
it ommits calling component.encodeBegin(), component.encodeEnd() etc. for
the FlattenedComponent (which normally super.encodeChild() does).
This solution looks like that (just adding the following to
RowLayoutRendered.encodeChild(FacesContext, UIComponent)):
else if (child instanceof FlattenedComponent)
{
encodeAllChildren(context, child);
}
Maybe someone of the developers can do this fix/improvement/enhancement,
because I think having the possibility to use UIXGroup inside HtmlRowLayout
without getting the ugly "illegal HTML"-message would be a nice feature.
Regard,
Marco
Matt Cooper-2 wrote:
>
> I also forgot tr:switcher--tr:swicher, tr:group, and tr:terator implement
> FlattenedComponent which is what would be accommodated by such a change.
>
> http://myfaces.apache.org/trinidad/trinidad-1_2/trinidad-api/apidocs/org/apache/myfaces/trinidad/component/FlattenedComponent.html
>
> Regards,
> Matt
>
>
> On Fri, Mar 6, 2009 at 8:34 AM, Matt Cooper <mc...@apache.org> wrote:
>
>> Hi Marco,
>>
>> Actually I think RowLayoutRenderer just needs to perform the
>> UIXComponent.processFlattenedChildren() just like is done in
>> PanelFormLayoutRenderer to supports component flattening. This would
>> give
>> you that effect that you desire but also will flatten a tr:iterator
>> wrappers.
>>
>> Regards,
>> Matt
>>
>>
>> On Fri, Feb 20, 2009 at 4:20 AM, Marco Grimm <
>> Marco.Grimm@rz-service-mannheim.de> wrote:
>>
>>> Hi,
>>>
>>> it would be nice/helpful if RowLayoutRenderer would overwrite
>>> "encodeAllChildren(...)" in that way, that for UIXGroup it should not
>>> pass
>>> the UIXGroup itself to "encodeChild(...)", but the children of the
>>> UIXGroup.
>>> This would have the result, that one could put several columns into one
>>> UIXGroup and set them all to rendered = false by just setting the group
>>> to
>>> rendered = false. This is not possible at the moment, because the
>>> overwrite
>>> of "encodeChild(...)" in RowLayoutRenderer renders "td" for all
>>> components
>>> ecxept HtmlCellFormat, which leeds to "INVALID HTML:" if you put columns
>>> into a UIXGroup inside HtmlRowLayout.
>>> Please tell me if you would except this change if I would submit such a
>>> patch.
>>>
>>> Best regards
>>> Marco Grimm
>>>
>>>
>>
>
>
--
View this message in context: http://www.nabble.com/-Trinidad--UIXGroup-inside-HtmlRowLayout-is-leading-to-%22INVALID-HTML%22-if-it-contains-HtmlCellFormat%28s%29-tp22119660p22413302.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.
Re: [Trinidad] UIXGroup inside HtmlRowLayout is leading to "INVALID
HTML" if it contains HtmlCellFormat(s)
Posted by Matt Cooper <mc...@apache.org>.
I also forgot tr:switcher--tr:swicher, tr:group, and tr:terator implement
FlattenedComponent which is what would be accommodated by such a change.
http://myfaces.apache.org/trinidad/trinidad-1_2/trinidad-api/apidocs/org/apache/myfaces/trinidad/component/FlattenedComponent.html
Regards,
Matt
On Fri, Mar 6, 2009 at 8:34 AM, Matt Cooper <mc...@apache.org> wrote:
> Hi Marco,
>
> Actually I think RowLayoutRenderer just needs to perform the
> UIXComponent.processFlattenedChildren() just like is done in
> PanelFormLayoutRenderer to supports component flattening. This would give
> you that effect that you desire but also will flatten a tr:iterator
> wrappers.
>
> Regards,
> Matt
>
>
> On Fri, Feb 20, 2009 at 4:20 AM, Marco Grimm <
> Marco.Grimm@rz-service-mannheim.de> wrote:
>
>> Hi,
>>
>> it would be nice/helpful if RowLayoutRenderer would overwrite
>> "encodeAllChildren(...)" in that way, that for UIXGroup it should not pass
>> the UIXGroup itself to "encodeChild(...)", but the children of the
>> UIXGroup.
>> This would have the result, that one could put several columns into one
>> UIXGroup and set them all to rendered = false by just setting the group to
>> rendered = false. This is not possible at the moment, because the
>> overwrite
>> of "encodeChild(...)" in RowLayoutRenderer renders "td" for all components
>> ecxept HtmlCellFormat, which leeds to "INVALID HTML:" if you put columns
>> into a UIXGroup inside HtmlRowLayout.
>> Please tell me if you would except this change if I would submit such a
>> patch.
>>
>> Best regards
>> Marco Grimm
>>
>>
>
Re: [Trinidad] UIXGroup inside HtmlRowLayout is leading to "INVALID
HTML" if it contains HtmlCellFormat(s)
Posted by Matt Cooper <mc...@apache.org>.
Hi Marco,
Actually I think RowLayoutRenderer just needs to perform the
UIXComponent.processFlattenedChildren() just like is done in
PanelFormLayoutRenderer to supports component flattening. This would give
you that effect that you desire but also will flatten a tr:iterator
wrappers.
Regards,
Matt
On Fri, Feb 20, 2009 at 4:20 AM, Marco Grimm <
Marco.Grimm@rz-service-mannheim.de> wrote:
> Hi,
>
> it would be nice/helpful if RowLayoutRenderer would overwrite
> "encodeAllChildren(...)" in that way, that for UIXGroup it should not pass
> the UIXGroup itself to "encodeChild(...)", but the children of the
> UIXGroup.
> This would have the result, that one could put several columns into one
> UIXGroup and set them all to rendered = false by just setting the group to
> rendered = false. This is not possible at the moment, because the overwrite
> of "encodeChild(...)" in RowLayoutRenderer renders "td" for all components
> ecxept HtmlCellFormat, which leeds to "INVALID HTML:" if you put columns
> into a UIXGroup inside HtmlRowLayout.
> Please tell me if you would except this change if I would submit such a
> patch.
>
> Best regards
> Marco Grimm
>
>