Mensagem de aguarde ou progressbar ao carregar um pdf pelo <p:media>

Bom dia

preciso de ajuda para mostrar uma mensagem de espera quando estiver carregando um PDF dinâmico via primefaces <p:media>

Segue como está no momento.

<p:media width="100%" height="480" player="pdf" view="Mostrando..."
                                         value="../sistemaweb/versao_pdf?param1=#{bean.select.id}&amp;param2=#{bean.select.value}&amp;param3=#{bean.login.value2}&amp;param4=#{bean.select.flag}" >
                                </p:media>

O sistema demora uns segundos para carregar… por isso gostaria de colocar um progressbar ou alguma mensagem de aguarde, mas não achei nada pesquisando na internet.

valeu

Você pode usar o ajaxStatus do PrimeFaces, é muito fácil de ser implementado

Assim que uma requisição for feita, ele vai abrir um dialog que possui uma barra de carregamento e o usuário vai aguardar/receber o feedback que o sistema esta processando algo. Essa barra de carregamento é o gif do graphicImage

<p:ajaxStatus onstart="PF('statusDialog').show()" onsuccess="PF('statusDialog').hide()" />
             
<p:dialog widgetVar="statusDialog" modal="true" draggable="false" closable="false" resizable="false" showHeader="false">
    <p:graphicImage library="images" name="ajax-loading-bar.gif" />
</p:dialog>

Olha ele funcionando no showcase:
https://www.primefaces.org/showcase/ui/ajax/status.xhtml

Estou chamando assim:

<p:commandButton onclick="PF('tabview').select(1)"
                                                     update="msg,:tabview:f2:painelExtrato2" title="Abrir">
                                        <f:setPropertyActionListener value="#{d}"
                                                                     target="#{bean.select}"/>

                                    </p:commandButton>

mas o ajaxStatus não está sendo chamado…

o que posso mudar ali para ele ser chamado?

valeu

Posta o código todo

Me expressei mal.

Quando clico commandButton:

<p:commandButton onclick="PF('tabview').select(1)"
                                                     update="msg,:tabview:f2:painelExtrato2" title="Abrir">
                                        <f:setPropertyActionListener value="#{d}"
                                                                     target="#{bean.select}"/>

                                    </p:commandButton>

O sistema carrega uma aba de um TabView que contem esse p:media.

<p:media width="100%" height="480" player="pdf" view="Mostrando..."
                                         value="../sistemaweb/versao_pdf?param1=#{bean.select.id}&amp;param2=#{bean.select.value}&amp;param3=#{bean.login.value2}&amp;param4=#{bean.select.flag}" >
                                </p:media>

O ajaxStatus é chamado, mas ele fecha no momento em que o tab do TabView é chamado.

Ai esse Tab fica em branco até o carregamento do <p:mendia> finalizar e mostrar o PDF.

É esse carregamento que gostaria de mostrar alguma coisa para o usuário.