Olha eu de novo.
Eu não sei se sou muito burro ou pra mim só vem coisa difícil.
É o seguinte:
Tenho um componente chamado anexarDocumento.xhtml. Esse componente é um botão e quando o usuário clicar em anexar deverá ser aberto um confirm e caso o confirm seja verdadeiro é para abrir uma outra tela com uma página previamente configurada.
Eu tentei fazer assim dentro do componente:
<ui:composition>
<h:commandButton id="saveUpload"
eventsQueue="editQueue"
action="#{home.persist()}"
value="Anexar" styleClass="dr-tbpnl-tb-inact"
rendered="#{!home.managed and isUploadForm}"
onclick="if(!confirm('Deseja imprimir Recibo?')) return false; else include('taskMasterGrid.xhtml');"
>
</h:commandButton>
</ui:composition>
O problema é que eu não sei configurar o onclick para abrir ou incluir a outra página. Eu pensei em fazer como o lightBox.
Grato pela ajuda.
Descobri algumas coisas:
1°)No evento onClick do botão eu coloquei o seguinte:
onclick="if(confirm('Deseja imprimir o comprovante?')) Richfaces.showModalPanel('panelTeste');"
2°) Acrescentei um modalPanel para ser chamado caso a opção de imprimir seja positiva:
[color=red] ATENÇÂO: O código abaixo ainda não configurado segundo a regra de negócio, eu peguei pronto para modificar.[/color]
<rich:modalPanel id="panelTeste" width="420" height="200">
<f:facet name="header">Requisitar Nova Senha</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="/img/closeMP.gif"
onclick="Richfaces.hideModalPanel('panelTeste')"/>
</h:panelGroup>
</f:facet>
<h:form id="gerarSenha">
<div id="receberNovaSenha">
<rich:panel style="width:400px;">
<f:facet name="header">Dados</f:facet>
<h:outputLabel for="login"
style="margin-right:18px; font-weight: bold">Login</h:outputLabel>
<h:inputText id="login" value="#{usuarioHome.login}" required="true" />
<br />
<br />
<h:outputLabel for="email"
style="margin-right:18px; font-weight: bold">Email</h:outputLabel>
<h:inputText id="email" value="#{usuarioHome.email}" required="true" />
</rich:panel>
<h:commandButton id="confirma" value="Confirma"
styleClass="buttons dr-tbpnl-tb-inact"
style="width: 150px !important"
action="#{usuarioHome.requisitarNovaSenha()}" />
<input class="buttons dr-tbpnl-tb-inact" id="btnTrocarSenha2"
type="button" value="Cancelar"
style="width: 150px !important"
onclick="Richfaces.hideModalPanel('panelTeste')" />
</div>
</h:form>
</rich:modalPanel>
A pergunta é: quando o usuário diz que quer imprimir, como segurar o carregamento da página para evitar que o modalPanel suma? ou tem como colocar esse código depois de um carregamento?