Meu problema eh o seguinte: tenho que enviar um arquivo para impressora e devo exibir para o usuario uma barra de status desse Job. Alguem tem alguma dica?
valeu
Meu problema eh o seguinte: tenho que enviar um arquivo para impressora e devo exibir para o usuario uma barra de status desse Job. Alguem tem alguma dica?
valeu
1 - crie um Modal Panel com a frase "Processando…"
2 - no seu botão coloque dois “a4j:suport” onde:
2.1 - O primeiro abre o Modal no evento onclick
2.1 - O segundo fecha o Model no evento oncomplete
obs.: para isso funcionar seu botão deve ser do tipo a4j:commandButton (pois só ele possue o evento oncomplete)
Entao cara, o problema eh que eu tenho que efetuar uma validacao antes de abrir o modal e caso o campo cnpj seja invalidado eu nao devo abrir o modal. Tentei o que voce sugeriu e ele esta abrindo de qualquer maneira.
<a4j:form>
<h:panelGrid columns="3">
<h:outputText value="Ordem de Embarque:"/>
<h:inputText id="ordemEmbarque" value="#{MBNF.ordemEmbarque}" size="20" styleClass="edit" >
<f:validator validatorId="ordemEmbarque"/>
</h:inputText>
<a4j:commandButton value="Imprimir" styleClass="botoes">
<a4j:support action="#{MBNF.imprimeOrdemEmbarque}" event="onclick" oncomplete="javascript:Richfaces.showModalPanel('pnlImprimindoOrdemEmbarque');"/>
</a4j:commandButton>
</h:panelGrid>
<a4j:outputPanel ajaxRendered="true">
<h:outputText id="error" value="#{MBNF.msgErro}" styleClass="mensagemErroSemImagem"/>
</a4j:outputPanel>
</a4j:form>
Então vini…dá um pouco de trabalho pra fazer…dá uma olhada neste exemplo
<a4j:form id="formAbc">
<h:panelGrid columns="3">
<h:outputText value="Ordem de Embarque:" />
<h:inputText id="ordemEmbarque" value="#{MBNF.ordemEmbarque}" size="20" styleClass="edit">
<f:validator validatorId="ordemEmbarque" />
</h:inputText>
<a4j:commandButton value="Imprimir" styleClass="botoes">
<a4j:support action="#{MBNF.enablePopUp}" event="onclick" reRender="formAbc"/>
<a4j:support action="#{MBNF.disablePopUp}" event="oncomplete" reRender="formAbc"/>
</a4j:commandButton>
</h:panelGrid>
<a4j:outputPanel ajaxRendered="true">
<h:outputText id="error" value="#{MBNF.msgErro}"
styleClass="mensagemErroSemImagem" />
</a4j:outputPanel>
<rich:modalPanel id="panel" width="350" height="100" showWhenRendered="#{MBNF.showPopUp}">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Aguarde"/>
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="/images/modal/close.png" styleClass="hidelink" id="hidelink"/>
<rich:componentControl for="panel" attachTo="hidelink" operation="hide" event="onclick"/>
</h:panelGroup>
</f:facet>
<h:outputText value="Processando..."/>
<br/>
</rich:modalPanel>
</a4j:form>
A diferença é que eu usei um atributto boolean chamado “showPopUp” e dois métodos “enablePopUp” e “disablePopUp” um deles passa o atributo para true e o outro para false. No modal toda vez q esse atributo for true o modal vai ficar aberto independente de vc mandar fechar.
Então vc pode realizar as validações e se der tudo certo passa esse atributo pra true.