Estou com a seguinte dúvida. Preciso desabilitar botãos de ação em minha tela, porém sei fazer isso usando modalPanel do richfaces para exibir uma msg de "aguarde…" numa boa, mas o problema que tenho que criar todo panel para cada página, em suma, repetição de código.
Então estou tentando fazer esse processo usando facelets, mas minha página não está conseguindo achar o panel. Eu o declaro em outro arquivo de página (nesse caso jspx). Veja como ficou:
Código do arquivo aguardarModalPanel.jspx onde está o rich:modalPanel
<?xml version="1.0" encoding="ISO-8859-1"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
version="2.0">
<ui:composition 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">
<h:form>
<rich:modalPanel id="aguardarPanel" width="350" height="80">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Aguarde...1234"></h:outputText>
</h:panelGroup>
</f:facet>
<h:outputText value="Aguarde por favor enquanto o sistema está processando..."/>
</rich:modalPanel>
</h:form>
</ui:composition>
</jsp:root>
Agora meu intúito é chamá-lo em qualquer página que for necessário desabilitar botão e apresentar a msg de aguarde (contina nesse modal). Para isso estou tentando usar a tag ui:insert do facelets. Veja:
Tag:
<ui:insert name="aguardarModalPanel"/>
E no botão chamo:
<h:commandButton id="botao" action="#{meuBean.persistir}" value="Confirmar">
<rich:componentControl for="aguardarPanel" operation="show" attachTo="botao" event="onclick"/>
</h:commandButton>
Quando o modalPanel ficava dentro da minha tela não tinha problema, o componentControl conseguia chamá-lo sem problema, mas agora não consigo devido ao facelets que não consegue inserí-lo à página.
O arquivo do modalPanel coloquei na mesma pasta onde se encontra a minha página de teste, mas não sei utilizar muito bem essas tags, portanto não sei qual a maneira correta de fazer isso funcionar, alguém teria alguma dica? Qualquer ajuda é sempre bem vinda, obrigado!