Uso primefaces, o meu botão excluir tem o efeito “explode” mas ele não funcionar, consigo excluir o objeto mas o dialogo continua na tela. Segue o código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:p="http://primefaces.org/ui"
xmlns:namespace="http://java.sun.com/jsf/composite/namespace"
xmlns:sec="http://www.springframework.org/security/facelets/tags">
<!--
Visão geral:Aqui é gerenciado os tipos(Rele,Analogico e digital)
Funções:
->Cadastrar.
->Editar.
->Excluir.
-->
<ui:composition template="Template.xhtml">
<ui:define name="content">
<div class="content_wrapper">
<div class="content">
<sec:ifAnyGranted roles="ROLE_ADMINISTRADOR">
<p:commandButton id="novo" value="Cadastrar Tipo"
icon="ui-icon-circle-plus"
onclick="#{MBTipo.novoTipo()};PF('novo').show();" />
</sec:ifAnyGranted>
<br></br> <br></br>
<h:form id="formNovo">
<p:growl id="growl" />
<p:dialog id="dialogNovo" header="Cadastro de Tipo"
widgetVar="novo" resizable="false">
<h:panelGrid id="painelNovo" columns="2" cellpadding="2">
<h:outputText value="Tipo" />
<p:selectOneMenu value="#{TipoBean.tipo.nomeTipoPorta}">
<f:selectItem itemLabel="Analógica" itemValue="Analogica"/>
<f:selectItem itemLabel="Digital" itemValue="Digital"/>
<f:selectItem itemLabel="Relé" itemValue="Rele"/>
</p:selectOneMenu>
<p:commandButton ajax="true" oncomplete="PF('novo').show();" id="limpar" value="Limpar" update="formNovo" actionListener="#{TipoBean.limpar}"/>
<p:commandButton id="cadastrar" ajax="false" value="Cadastrar"
actionListener="#{TipoBean.cadastrarTipo}"
update=":formGrid growl" />
</h:panelGrid>
</p:dialog>
</h:form>
<h:form id="formGrid">
<p:dataTable id="Grid" var="tipo" value="#{TipoBean.listaTipo}"
selection="#{TipoBean.tipo}" selectionMode="single"
rowKey="#{tipo.idTipoPorta}" paginator="true" rows="5">
<f:facet name="header">
<h:outputText value="TIPO" />
</f:facet>
<p:column headerText="Nome do Setor">
<f:facet name="header">
<h:outputText value="Tipo de Porta " />
</f:facet>
<h:outputText value="#{tipo.nomeTipoPorta}" />
</p:column>
<sec:ifAnyGranted
roles="ROLE_ADMINISTRADOR">
<p:column headerText="Editar" width="5%" exportable="false">
<p:commandButton oncomplete="PF('editar').show()"
icon="ui-icon-pencil" update=":formEditar">
<f:setPropertyActionListener target="#{TipoBean.tipo}"
value="#{tipo}" />
</p:commandButton>
</p:column>
<p:column headerText="Excluir" exportable="false" width="6%">
<p:commandButton icon="ui-icon-circle-close"
onclick="PF('confirmation').show()" update=":formGrid">
<!-- Setando meu objeto " Tipo" da lista "listaTipo" -->
<f:setPropertyActionListener target="#{TipoBean.tipo}"
value="#{tipo}" />
</p:commandButton>
</p:column>
</sec:ifAnyGranted>
</p:dataTable>
</h:form>
<!-- Editar -->
<h:form id="formEditar">
<p:growl id="growl" />
<p:dialog id="dialEditar" widgetVar="editar" header="Editando"
resizable="false">
<h:panelGrid id="painelNovo" columns="2" cellpadding="2">
<h:outputText value="Tipo" />
<p:selectOneMenu value="#{TipoBean.tipo.nomeTipoPorta}">
<f:selectItem itemLabel="Analógica" itemValue="Analogica"/>
<f:selectItem itemLabel="Digital" itemValue="Digital"/>
<f:selectItem itemLabel="Relé" itemValue="Rele"/>
</p:selectOneMenu>
<p:commandButton id="alterar" ajax="false" value="Alterar"
actionListener="#{TipoBean.atualizarTipo}" update=":formGrid ">
</p:commandButton>
</h:panelGrid>
</p:dialog>
</h:form>
<h:form id="dialogo">
<p:growl id="growl" />
<p:confirmDialog message="Deseja realmente excluir este registro?"
hideEffect="explode" header="Aviso" severity="alert"
widgetVar="confirmation" modal="true">
<p:commandButton id="btnSim" value="Sim"
oncomplete="confirmation.hide();"
actionListener="#{TipoBean.excluirTipo}" update=":formGrid growl" />
<p:commandButton id="btnNao" value="Não"
onclick="confirmation.hide();" type="button" />
</p:confirmDialog>
</h:form>
</div>
</div>
</ui:define>
</ui:composition>
</html>