No component found to process as 'ajaxSingle' for clientId
franck_garcia Jan 21, 2010 11:00 AMHi there,
My first post on this forum usually I'm posting on the SEAM one but I think I have a richfaces problem here.
I bang my head on the wall since yesterday with this one and I can't find anything. The only light of hope is that this morning I upgraded from rf 3.3.1.GA to 3.3.2.GA and finally I have a WARN log message that could I hope lead me to the solution.
[org.ajax4jsf.component.AjaxViewRoot] No component found to process as 'ajaxSingle' for clientId j_id292:searchWarehouse_datatable:40:searchWarehouse_selectLink
<rich:modalPanel id="#{panelId}" onshow="var searchField = #{rich:element(searchField)}; searchField.value = '';">
<f:facet name="header">
<h:outputText value="#{title}" />
</f:facet>
<a:form>
<rich:panel>
<a:region>
<h:inputText id="#{searchField}" value="#{searchFieldValue}"/>
<a:commandButton reRender="#{panelId}_searchResultPanel" value="Search" action="#{seamPick.first(false)}">
<f:param name="requestParam1" value="#{requestParam1}" />
</a:commandButton>
</a:region>
</rich:panel>
<rich:panel id="#{panelId}_searchResultPanel">
<f:facet name="header">#{title} Results (#{empty seamPick.resultList ? 0 : (seamPick.paginated ? seamPick.resultCount : seamPick.resultList.size)})</f:facet>
<h:outputText rendered="#{empty seamPick.resultList}">
#{title} returned no results.
</h:outputText>
<rich:dataTable id="#{panelId}_datatable" value="#{seamPick.dataModel}" var="_var" rows="#{seamPick.maxResults}">
<h:column id="#{panelId}_column1">
<f:facet name="header">#{firstColumnHeader}</f:facet>
<a:commandLink id="#{panelId}_selectLink" action="#{seamPick.select}" reRender="#{clientFieldId}"
oncomplete="
var clientCodeField = #{rich:element(clientFieldId)};
clientCodeField.focus();
Richfaces.hideModalPanel('#{panelId}');"
ajaxSingle="true">
<f:param name="requestId" value="#{currentId}"/>
<f:param name="requestParam1" value="#{requestParam1}"/>
<h:outputText value="#{firstColumn}" />
</a:commandLink>
</h:column>
<h:column id="#{panelId}_column2">
<f:facet name="header">#{secondColumnHeader}</f:facet>
<h:outputText value="#{secondColumn}" />
</h:column>
<f:facet name="footer">
<rich:datascroller page="#{seamPick.currentPage}"
pageIndexVar="pageIndex" pagesVar="pages" boundaryControls="show"
stepControls="hide" fastControls="show">
<f:param name="requestParam1" value="#{requestParam1}" />
</rich:datascroller>
</f:facet>
</rich:dataTable>
</rich:panel>
</a:form>
<a href="#" onclick="Richfaces.hideModalPanel('#{panelId}');">Cancel</a>
</rich:modalPanel>
This xhtml snippet is part of a Facelet template, I'm using in different places and for one reason I ignore, it's not working with one specific entity (Warehouse):
The seamPick.select method is never called! . Note that I also use some code I found on the SEAM forum to override the EntityQuery seam framework component to use a richfaces ExtendedDataModel in order to benefit from DB scrolling with the RF scroller component. [The only difference with other entities (that work) is that the Warehouse entity has a composite PK (with @EmbeddedId), this is used by RF to assign a clientId. I override the toString method to provide a code in it....).
Any pointer will be very much appreciated!
Thanks,
