Affects Version/s: 2.0.1
Fix Version/s: None
Operating System: All
Encountered while analyzing the following thread:
The current implementations of <composite:insertFacet>/<composite:insertChildren> results in
components be removed from their original parents and inserted into the composite component
implementation in response to PostAddToViewEvents. As a result, when subsequently executing tags
against an existing component tree (on postback), the relocated components will no longer be found in
their original locations and will be re-created. This has two problems:
1. Re-creating these components/subtrees is unnecessarily expensive.
2. Re-creating these components/subtrees results in a loss of state - ie. components are reset to their
#2 means that stateful components, such as Trinidad's <tr:showDetail>, cannot be used as composite
A possible solution might be to follow the pattern used by the Facelets
<ui:composition>/<ui:define>/<ui:insert> - ie. use a TemplateClient to ensure that the components
are inserted in the desired target location during tag execution.