"Manfred Klug" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > > > > PROBLEM > > > > I have found that the <span jsfid="contactTable"> content on > > the hrolodex.html is totally mock, the the contactTable component build its > > content from the scratch inside the clay config file. > > From the first sight, I used to expect that the content of the result > > panelGrid can be also taken from the html content of the inner table.
This proposal is not about the way how to magically force existing component to do what they can do. It is only about maximizing reusing of the html elements. Look at the hrolodex.html . There are two main table there with data. One is very small and it is wrapped with jsfid="contactTable". The Second one is a huge table and it's not converted to the panelGrid. If you decide to do it now, you have to recreate almost the whole page. > IMO this proposal produces more unresolvable problems than it solves. In the first post, I specially mention in the == Good Stuff == section that Page Writer should always have a chance to use 'span' wrapper and decouple the layout configuration from the original mockup. I.e. if Page Writer has no idea how reuse the html construction, she can do not provide any jsfid inside and declare everything inside the clay configuration file. Therefore, this proposal does not produce any restriction or unresolvable problems, because Page Writer has a 100% guaranty solution - the 'span' wrapper any time. > > How would you combine a component and a HtmlDataTable? > This is my guess: HTML from Designer: <table jsfid="marketTable"> <tr> <th colspan="4"> Market Summary</th> </tr> <tr> <th> Symbol </th> <th> Name </th> <th> Last </th> <th> Change </th> </tr> <tr> <td>BAC</td> <td>BK OF AMERICA CP</td> <td>44.85</td> <td>+0.56%</td> </tr> <tr> <td>GOOG</td> <td>GOOGLE</td> <td>302.40</td> <td>+0.56%</td> </tr> <tr> <td>^IXIC</td> <td>NASDAQ COMPOSITE</td> <td>2,179.74</td> <td>+0.05%</td> </tr> </table> HTML after jsfids are inserted: <table jsfid="marketTable"> <tr> <th jsfid="mstableHead" renderId="1" colspan="4"> Market Summary</th> </tr> <tr> <th renderId="11" jsf="msSymbolColumn"> Symbol </th> <th renderId="12" jsf="msNameColumn"> Name </th> <th renderId="13" jsf="msLastColumn"> Last </th> <th renderId="14" jsf="msChangeColumn"> Change </th> </tr> <tr> <td>BAC</td> <td>BK OF AMERICA CP</td> <td>44.85</td> <td>+0.56%</td> </tr> <tr> <td>GOOG</td> <td>GOOGLE</td> <td>302.40</td> <td>+0.56%</td> </tr> <tr> <td>^IXIC</td> <td>NASDAQ COMPOSITE</td> <td>2,179.74</td> <td>+0.05%</td> </tr> </table> Clay config file: <view> <!-- dataTable --> <component jsfid="marketTable" allowBody="false" extends="dataTable"> <attributes> <set name="value" value="#{managed-bean-name.marketSummary}"/> <set name="var" value="ms"/> </attributes> </component> <!-- dataTable Header --> <component jsfid="mstableHead" extends="outputTable" facetName="header" allowBody="true"> <attributes> <set name="colspan" allowOverridding="false" value=""/> </attributes> </component> <!-- dataTable column --> <component jsf="msSymbolColumn" allowBody="false"> <element renderId="1" jsfid="outputText" facetName="header"> <attributes> <set name="value" value="Symbol"/> </attributes> </element> <element renderId="2" jsfid="msSymbol"/> </component> <!-- dataTable column data --> <component jsfid="msSymbol" allowBody="false" extends="outputText"> <set name="value" value="#{ms.symbol}"/> </component> <!-- the same for other columns --> </view> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]