14
respostas

Dialog Framework do primefaces

No site da primefaces, vi este exemplo: https://www.primefaces.org/showcase/ui/df/basic.xhtml, mas no meu caso não funciona. o que pode ser ?

Meu commandButton:

<p:commandButton id="cmdBtnAuditoria" icon="ui-icon-circle-zoomout" title="Visualizar auditoria" actionListener="#{auditoriaBean.visualizarAuditoria}"/>

Metodo no java

public void visualizarAuditoria() {
            Map<String, Object> options = new HashMap<String, Object>();
                    options.put("modal", true);
                    options.put("width", 640);
                    options.put("height", 340);
                    options.put("contentWidth", "100%");
                    options.put("contentHeight", "100%");
                    options.put("headerElement", "customheader");
                    RequestContext.getCurrentInstance().openDialog("auditoriaInformacaoResolucaoPopUp", options,
                            null);
        }
14 respostas

Ola Guilherme

você criou o auditoriaInformacaoResolucaoPopUp.xhtml ??

No commandbutton você precisa colocar o value, ok??

Respondendo:

você criou o auditoriaInformacaoResolucaoPopUp.xhtml ?? Sim

No commandbutton você precisa colocar o value, ok?? Mas o value não é para aparacer uma mensagem no botão ? Se sim, o botão só deve ter imagem.

Colocando um breakpoint no método visualizarAuditoria(), ele entra e sai do método sem apontar erro no console.

O commandButton esta dentro de uma tag ??

Tem uma , depois

<p:column style="max-width: 5px; min-width: 5px; overflow: hidden; white-space: normal;">
    <f:facet name="header">
        <h:outputText value="Ação" />
    </f:facet>
    <p:commandButton id="cmdBtnAuditoria" icon="ui-icon-circle-zoomout" title="Visualizar auditoria" />
</p:column>

Guilherme,

no post anterior esqueci de perguntar:

O commandButton esta dentro de uma tag h:form ??

Tem algum h:form no seu xhtml que envolve a tag h:commandButton, pode ser no inicio do arquivo desde que a h:commandButton esteja dentro dela??

Creio que sim.

Está assim:

<h:form id="frmAuditoriaTab">
            <p:tabView>
                <p:tab title="Trâmite da Resolução">
                    <ui:include src="auditoriaAbaTramiteResolucao.xhtml" />
                </p:tab>
                <p:tab title="Informações da Resolução">
                    <ui:include src="auditoriaAbaInformacaoResolucao.xhtml" />
                </p:tab>
                <p:tab title="Dotações Orçamentárias">
                    <ui:include src="auditoriaAbaDotacaoOrcamentaria.xhtml" />
                </p:tab>
                <p:tab title="Beneficiários">
                    <ui:include src="auditoriaAbaBenficiario.xhtml" />
                </p:tab>
                <p:tab title="Autorização">
                    <ui:include src="auditoriaAbaAutorizacao.xhtml" />
                </p:tab>
            </p:tabView>
        </h:form>

Guilherme

o commandButton não esta dentro desse h:form . Envolva o commandbutton num novo h:form pra ver se da certo

Ele está dentro desta tabview

<p:tab title="Trâmite da Resolução">
<ui:include src="auditoriaAbaTramiteResolucao.xhtml" />
</p:tab>

Fiz o que disse, mas não funcionou.

Alguma ajuda ?

Guilherme

no seu xhtml, aonde esta o commandButton você precisa colocar

<h:head>
        <h:outputScript name="jquery/jquery-plugins.js" library="primefaces"/>
    <h:outputScript name="jquery/jquery.js" library="primefaces"/>
</h:head>

Além disso, no faces-config.xml, você precisa incluir o seguinte código

<application>
    <action-listener>org.primefaces.application.DialogActionListener</action-listener>
    <navigation-handler>org.primefaces.application.DialogNavigationHandler</navigation-handler>
    <view-handler>org.primefaces.application.DialogViewHandler</view-handler>
</application>

Este código ele já baixa automático os js ?

<h:head>
        <h:outputScript name="jquery/jquery-plugins.js" library="primefaces"/>
    <h:outputScript name="jquery/jquery.js" library="primefaces"/>
</h:head>

Guilherme

eu não parei para ver isso. Eu criei um xhtml para testar o dialog e tbm não estava funcionando tbm. Estava entrando dentro do método direitinho mas o pop-up não abria. Procurei na internet e verifiquei que tinha que incluir essas duas mundanças. Além disso, atualizei a lib do Primefaces. Me preocupei com a existência desses arquivos .js mas primeiro fiz o teste pra ver se dava certo e se não desse certo, eu iria incluir esses arquivos na mão, no meu projeto. Verifiquei nas ferramentas do desenvolvedor do Chrome que o xhtml estava carregando os js sem nenhum problema, e passou a funcionar. Esses arquivos js podem estar dentro da lib do primefaces, eu não sei, tem que procurar.

Veja o link aonde achei a solução

https://stackoverflow.com/questions/32456951/primefaces-dialog-framework-dialog-not-opening

Entendi. Vou fazer o teste e coloco a solução aqui.