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

0 respostas
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

&lt;?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;&nbsp;
                                &lt;/td&gt;
                                &lt;td&gt;
                                    <a >Editar</a>&nbsp;
                            &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;&nbsp;&nbsp;
                                    &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;
Criado 25 de outubro de 2011
Respostas 0
Participantes 1