Ola todos!
Eu estou desenvolvendo telas de cadastro utilizando templates e me surgiu um problema. Dentro de um determinado cadastro eu faço uma chamada para a tela de pesquisa que acionará um ModalPanel. Quando eu clico no botão “pesquisar”, o ModalPanel simplesmente fecha. Olhando para a BB eu percebi que ele executou a Action, tanto que quando eu aciono novamente o ModalPanel, na dataTable aparecem os registros e eu consigo fazer a seleção.
Abaixo a parte do template_cadastro.xhtml que coloquei o ui:insert
(to dando uma cortada para facilitar o entendimento)
<html xmlns="http://www.w3.org/1999/xhtml"
... >
<a4j:outputPanel id="pesqOutputPanel#{nomeForm}">
<ui:insert name="pesqModalBlock">
</ui:insert>
</a4j:outputPanel>
</html>
dentro da tela de cadastro_equipamentos.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
... >
<ui:composition template="/WEB-INF/template_cadastro.xhtml">
<ui:define name="pesqModalBlock">
<a4j:include viewId="/webPages/pesquisaModal.xhtml"/>
... ou ...
<ui:include src="/webPages/pesquisaModal.xhtml"/>
[b]... EM AMBOS O RESULTADO FOI O MESMO ....[/b]
</ui:define>
</ui:composition>
</html>
e dentro do pesquisaModal.xhtml…
<html xmlns="http://www.w3.org/1999/xhtml"
...>
<ui:composition>
<!-- modal de pesquisa no cadastro -->
<rich:modalPanel id="mpPesquisa" width="625" height="500" resizeable="false">
<f:facet name="header">Pesquisa</f:facet>
<a4j:form>
<h:panelGrid columns="4">
<h:column>
<h:outputText value="Pesquisa:" styleClass="campoLabel"/>
</h:column>
<h:column>
<h:inputText id="pesqNome" value="#{pesquisaMB.campoConsulta}" size="50"/>
</h:column>
<h:column>
<h:commandButton value="Pesquisar" action="#{pesquisaMB.pesquisar}"/>
</h:column>
<h:column>
<h:commandButton id="btnVolta" value="Voltar"
onclick="#{rich:component('mpPesquisa')}.hide()"/>
</h:column>
</h:panelGrid>
<rich:spacer height="10"/>
<rich:dataTable width="605"
id="listPesqPessoas"
rows="10"
rowClasses="odd-row,even-row"
columnClasses="col"
value="#{pesquisaMB.listaConsulta}"
var="row">
<rich:column sortBy="#{row.codigoOrdem}" sortOrder="ASCENDING" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Código"/>
</f:facet>
<h:outputText value="#{row.codigoOrdem}" />
</rich:column>
<rich:column sortBy="#{row.nome}" sortOrder="ASCENDING" >
<f:facet name="header">
<h:outputText styleClass="headerText" value="Nome"/>
</f:facet>
<h:outputText value="#{row.nome}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText styleClass="headerText" value="Ações"/>
</f:facet>
<span>
<h:commandLink value="selecionar"
onclick="#{rich:component('mpPesquisa')}.hide()">
<f:setPropertyActionListener value="#{row}"
target="#{pesquisaMB.dadosPessoas}"/>
</h:commandLink>
</span>
</rich:column>
</rich:dataTable>
<rich:spacer height="10"/>
<rich:datascroller align="center"
for="listPesqPessoas"
maxPages="10"
reRender="outLista"/>
</a4j:form>
</rich:modalPanel>
<rich:panel id="pParams"
style="vertical-align:top; text-align:left; width:922px;">
<h:panelGrid columns="6">
<h:column>
<h:outputText value="Cliente:" styleClass="campoLabel"/>
</h:column>
<h:column>
<h:outputLink value="#" id="link">(procurar)
<rich:componentControl for="mpPesquisa"
attachTo="link"
operation="show"
event="onclick"/>
</h:outputLink>
</h:column>
<h:column>
<h:inputText id="pesqClienteCodigo"
value="#{pesquisaMB.dadosPessoas.codigoOrdem}"
size="6"
styleClass="campoInput"
disabled="true"/>
</h:column>
<h:column>
<h:inputText id="pesqClienteNome"
value="#{pesquisaMB.dadosPessoas.nome}"
size="65"
styleClass="campoInput"
disabled="true"/>
</h:column>
</h:panelGrid>
</rich:panel>
</ui:composition>
</html>
A pesquisa até funciona, mas o Modal fecha?
Gostaria da ajuda dos amigos mais experientes. Eu estou achando que é problema de submit das telas que está fechando mas não pesquisei bastante e não achei o bug.
Por favor, façam perguntas e estarei online no forum para podermos achar esse erro.
Conto com a ajuda da comunidade.
Bispo