[
https://issues.apache.org/jira/browse/TOBAGO-1982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bernd Bohmann reopened TOBAGO-1982:
-----------------------------------
Assignee: Bernd Bohmann (was: Henning Nöth)
> Composite components in segment layout not rendered correctly
> -------------------------------------------------------------
>
> Key: TOBAGO-1982
> URL: https://issues.apache.org/jira/browse/TOBAGO-1982
> Project: MyFaces Tobago
> Issue Type: Bug
> Components: Core
> Affects Versions: 4.3.2
> Reporter: Henning Nöth
> Assignee: Bernd Bohmann
> Priority: Minor
>
> Imagine a composite component for a text, where the attribute "asText" decide
> if a tc:in or a tc:out is used.
> {code:xml}
> <cc:interface>
> <cc:attribute name="value"/>
> <cc:attribute name="asText" default="false"/>
> </cc:interface>
> <cc:implementation>
> <tc:in id="in" value="#{cc.attrs.value}" rendered="#{!cc.attrs.asText}"/>
> <tc:out id="out" value="#{cc.attrs.value}" rendered="#{cc.attrs.asText}"/>
> </cc:implementation>{code}
> Without a layout manager the component show either the tc:in or the tc:out as
> expected.
> Within a segment layout the component use two segments. One for the tc:in
> and the second for the tc:out.
> If "asText=true" the first segment is empty and the second segment shows the
> tc:out.
> If "asText=false" the first segment shows the tc:in and the second segment is
> empty.
> This might be not the expected behavior, which I think is that the composite
> component uses only one segment.
> As a workaround you can wrap the tc:in/tc:out with a panel:
> {code:xml}
> <cc:implementation>
> <tc:panel id="wrapper">
> <tc:in id="in" value="#{cc.attrs.value}" rendered="#{!cc.attrs.asText}"/>
> <tc:out id="out" value="#{cc.attrs.value}" rendered="#{cc.attrs.asText}"/>
> </tc:panel>
> </cc:implementation>{code}
>
> (!) And the 'rendered' attribute on the composite component container doesn't
> work within a segment layout which should be definitely fixed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)