JSF 2.0 + Richfaces 4.0.0 - Como fechar um <rich:popupPanel> e atualizar a página de origem

1 resposta
rafabh3

Boa tarde pessoal tudo bem?? Seguinte, estou desenvolvendo uma aplicaçao onde eu tenho um panelGrid que me lista vários cadastros com a opçao de Editar ou Excluir.

Na hora de excluir, eu coloco uma popup, que nao é uma página separada, é um componente do richfaces, e nesta popup o usuário confirma se realmente quer excluir o registro ou nao.

Até aí blz, o usuário confirma e o registro é excluído do banco sem problemas. Mas a minha dúvida é:

Como eu faço para atualizar a página de registros para que o registro excluído desapareça? Estou agarrado nisso e se alguém puder me dar ua luz ficarei extremamente grato.

Segue meu código para ficar mais claro, reparem que o popup é um componente do richfaces e nao uma página separada.

preTarefas.xhtml

?xml version='1.0' encoding='UTF-8' ?&gt;  
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;  
&lt;html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html"  
      xmlns:f="http://java.sun.com/jsf/core"  
      xmlns:ui="http://java.sun.com/jsf/facelets"  
      xmlns:rich="http://richfaces.org/rich"&gt;  
    &lt;h:head&gt;  
        &lt;title&gt;GA - Pré-tarefas Cadastradas&lt;/title&gt;  
    &lt;/h:head&gt;  
    &lt;h:body&gt;  
        &lt;h:panelGroup id="preTarefaWrapper"&gt;  
            &lt;h:form&gt;  
                &lt;h:outputText value="Pré-tarefas Cadastradas"/&gt;  
                <br/>  
                <br/>  
                &lt;h:outputText value="Filtro por nome"/&gt;<br/>  
                &lt;h:inputText value="#{preTarefaController.nome}"/&gt;  
                <br/>  
                &lt;h:commandButton value="Filtrar"&gt;  
                    &lt;f:ajax listener="#{preTarefaController.buscarPorNome}" render=":preTarefaWrapper"/&gt;  
                &lt;/h:commandButton&gt;  
                <br/>  
                    <br/>  
                        &lt;h:panelGroup rendered="#{not empty preTarefaController.preTarefaList}"&gt;  
                            &lt;h:panelGrid columns="2" border="0" rules="rows"&gt;  
                        &lt;f:facet name="header"&gt;  
                            &lt;h:outputText value="Pré-Tarefas" /&gt;  
                        &lt;/f:facet&gt;  
                              
                                &lt;ui:repeat var="preTarefa" value="#{preTarefaController.preTarefaList}"&gt;  
                            &lt;tr&gt;  
                                &lt;td&gt;  
                            &lt;h:outputText value="#{preTarefa.nome}"/&gt;   
                                &lt;/td&gt;  
                                &lt;td&gt;  
                                    <a >Editar</a>   
                            &lt;h:commandLink value="Excluir"&gt;  
                                &lt;rich:componentControl target="popup" operation="show" /&gt;  
                            &lt;/h:commandLink&gt;  
                            <br/>  
                                &lt;/td&gt;  
                            &lt;/tr&gt;  
                                &lt;rich:popupPanel id="popup" modal="true" autosized="true" resizeable="false"&gt;  
                                &lt;f:facet name="header"&gt;  
                                    &lt;h:outputText value="Excluir Pré-Tarefa" /&gt;  
                                &lt;/f:facet&gt;  
                                <p>  
                                    &lt;h:form&gt;  
                                    &lt;h:outputText value="Deseja realmente excluir esta pré-tarefa?"/&gt;<br/><br/>  
                                    &lt;h:commandButton id="excluir" onclick="#{rich:component('popup')}.hide()" value="Sim"&gt;  
                                        &lt;f:ajax listener="#{preTarefaController.preTarefaRemovida}" render=":preTarefaWrapper"/&gt;  
                                    &lt;/h:commandButton&gt;  
                                    &lt;h:message for="excluir"/&gt;    
                                    &lt;h:commandButton id="excluirTarefa" onclick="#{rich:component('popup')}.hide()" value="Não"/&gt;  
                                    &lt;/h:form&gt;  
                                </p>  
                                &lt;/rich:popupPanel&gt;  
                            &lt;/ui:repeat&gt;  
                        &lt;/h:panelGrid&gt;  
                    &lt;/h:panelGroup&gt;  
                &lt;h:panelGroup rendered="#{empty preTarefaController.preTarefaList}"&gt;  
                    &lt;h:outputText value="Nenhuma pré-tarefa encontrada."/&gt;  
                &lt;/h:panelGroup&gt;  
            &lt;/h:form&gt;  
        &lt;/h:panelGroup&gt;  
    &lt;/h:body&gt;  
&lt;/html&gt;

Agradeço desde já quem puder cooperar. Abs!

1 Resposta

M

fala … voce conseguiu resolver?

estou com o mesmo problema. tentei usar como no richfaces 3 mas nao funciona:

<rich:componentControl for="loginInvalido" attachTo="fechaMPLoginInvalido" operation="hide" event="onclick"/>
Criado 26 de outubro de 2011
Ultima resposta 12 de nov. de 2011
Respostas 1
Participantes 2