Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1.9
-
None
Description
The idea is allow detailStamp row to be ajaxified, using a new inner facet called detailStampRow with a component with the same id, that will render the detailStamp including its clientId, to make possible use it through ajax. The idea is something like this:
<t:dataTable id="data" styleClass="standardTable" headerClass="standardTable_Header" footerClass="standardTable_Header"
rowClasses="standardTable_Row1,standardTable_Row2"
columnClasses="standardTable_Column,standardTable_ColumnCentered,standardTable_Column" var="currentCountry"
value="#
" preserveDataModel="true" varDetailToggler="detailToggler" preserveRowComponentState="true">
<h:column>
<f:facet name="header">
<h:outputText value="#
"/>
</f:facet>
<t:commandLink action="go_country" immediate="true">
<h:outputText value="#
"/>
<!-- for convenience: MyFaces extension. sets id of current row in countryForm -->
<Unable to render embedded object: File (-- you don't have to implement a custom action) not found. -->
<t:updateActionListener property="#
" value="#
{currentCountry.id}"/>
</t:commandLink>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#
"/>
</f:facet>
<h:outputText value="#
"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#
"/>
</f:facet>
<t:div id="panel">
<h:commandLink rendered="#
" action="#
{detailToggler.toggleDetail}"><h:outputText value="Hide"/>
<f:ajax render="panel detailStampRow"/>
</h:commandLink>
<h:commandLink rendered="#{!detailToggler.currentDetailExpanded}" action="#{detailToggler.toggleDetail}
">
<h:outputText value="Show"/>
<f:ajax render="panel detailStampRow"/>
</h:commandLink>
</t:div>
</h:column>
<f:facet name="detailStamp">
<t:dataTable id="cities" styleClass="standardTable_Column" var="city" value="#
" preserveDataModel="true" preserveRowComponentState="true">
<h:column>
<h:outputText value="#
" style="font-size: 11px"/>
</h:column>
<h:column>
<h:selectBooleanCheckbox id="selcity" value="#
" onclick="this.blur();">
<f:ajax/>
</h:selectBooleanCheckbox>
</h:column>
<h:column>
<h:commandLink action="#
" value="Unselect">
<f:ajax execute="@this" render="cities"></f:ajax>
</h:commandLink>
</h:column>
</t:dataTable>
</f:facet>
</t:dataTable>
I'll commit the proposal, but let this one open until all tests for this feature will be done.