Não fechar rich:modalPanel após execução de action

4 respostas
M

[b]Boa tarde

Tenho um rich:modalPanel que contém um formulário de alteração. Esse formulário precisa ser validado, por meio de JS e submetido, mas antes de o panel se fehcar (no click desse botão) quero renderizar um panel informando se a alteração foi ou não realizada com sucesso.

Peguei um código pronto, para customizar, e usa um h:commandLink, valida e passando pela validação ele fecha o modal panel.

Queria encontrar alguma forma de fazer que, após execução do action do h:commandLink, o modal panel não se feche… e que eu, de alguma maneira, conseguisse renderizar um painel dentro.

Se alguém puder me ajudar, ficarei muito grato.

[/b]

4 Respostas

R

Não entendi muito bem.
Vc tem um painel com um formulario, precisa alterar alguns dados, ao clicar em um link, precisa validar e depois abrir um painel dentro do painel atual?

R
rich:component('id_componente')}.hide()
R

Serve o metodo oncomplete do ajax?

alves.Felipe

cara… vc não pode usar o h:comandLink vc tem que usar o a4j:commandButton, que faz o rerender para o modal de confirmação de alteração,algo assim:

<a4j:commandButton id="a4jCBGravar" image="/pages/pub/img/gravarPedido.png" value="Gravar Pedido" action="#{pedidoController.gerarMensagemGravar}" reRender="seuModalDeConfimacao" oncomplete="javascript:Richfaces.showModalPanel('seuModalDeConfimacao',{left:250,top:200}) ;"> </a4j:commandButton>
//modal

<rich:modalPanel id="seuModalDeConfimacao" autosized="true" minHeight="100" minWidth="280"> <f:facet name="header"> <h:outputText id="hotConfirmacaoGravar" value="#{requestScope.msg.label_msg_ipd_confirmacaoInclusaoPedido}" /> </f:facet> <center><h:outputText id="hotMensagemGravar" value="#{pedidoController.msgGravarPedido}" /><br /> <br /> //se o cara confirmar, então vc chama alguma action.. <h:commandButton value="#{requestScope.msg.label_mcd_sim}" id="cmdSimGravar" action="#{pedidoController.salvar}" > <rich:componentControl id="rccGravarSim" for="mdConfirmaGravar" attachTo="cmdSimGravar" operation="hide" event="onclick" /> </h:commandButton> //se o cara não confirmar, simplesmente esconde o modal de confirmação e continua no modal anterior... <a4j:commandButton id="cmdNaoGravar" value="#{requestScope.msg.label_mcd_nao}"> <rich:componentControl id="rccGravarNao" for="mdConfirmaGravar" attachTo="cmdNaoGravar" operation="hide" event="onclick" /> </a4j:commandButton> </center> </rich:modalPanel>

Criado 3 de agosto de 2011
Ultima resposta 3 de ago. de 2011
Respostas 4
Participantes 4