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,