Re: Abrir dialog dentro de outro dialog

1,173 views
Skip to first unread message

jonathas santos ramos

unread,
Jan 16, 2013, 1:53:19 PM1/16/13
to jav...@googlegroups.com
Ah sim, nota: A aplicação não lança nenhum stack trace, simplesmente não dá erro.

Em 16 de janeiro de 2013 15:46, jonathas santos ramos <jhon.sa...@gmail.com> escreveu:
Pessoal, tenho uma aplicação, e preciso abrir um dialog dentro de outro, só que ocorre o seguinte: Quando clico para abrir o outro, a aplicação simplesmente fecha os dois, e não sei o que fazer...
Queria uma ajuda dos Srs.

Muito Obrigado desde já. Segue parte do meu código.

//Dialog Principal
<p:dialog id="mapaDialog" header="Consulta do Cliente" widgetVar="dlg" width="1100" showEffect="clip" hideEffect="clip"  modal="false" resizable="false">
     //TabView da minha aplicação
     <p:tabView id="tabView" dynamic="true" effect="fade" activeIndex="#{recadastroMB.activeIndexTab}">
         <p:tab title="Dados do Cliente" id="tabDadosCliente">

                //Codigo

          </p:tab>
          <p:tab title="Dados Complementares" id="tabDadosCompl">

             //Codigo 

        </p:tab>
       <p:tab title="Fotos" id="tabFotos">
           // Essa parte aqui é o que interessa, onde dá o meu erro.

                        <h:panelGrid columns="2">
                            <p:panel id="ftMedidor" header="Foto do Medidor">
                                <p:graphicImage value="http://localhost:8080/
aplicacao/caf.do?id=#{recadastroMB.entity.inscricao}&amp;parametroFoto=fotoMedidor" width="400" heigth="400" cache="false" />
                            </p:panel>
                            <p:panel id="ftFachada" header="Foto da Fachada">
                            <h:commandLink onclick="expandFotos2.show();">
                                <p:graphicImage value="http://localhost:8080/
aplicacao/caf.do?id=#{recadastroMB.entity.inscricao}&amp;parametroFoto=fotoFachada" width="400" heigth="400" cache="false" />
                                </h:commandLink>
                            </p:panel>
                            <p:dialog width="800" widgetVar="expandFotos" dynamic="false" modal="false" draggable="false" resizable="false"  >
                               
                                <p:graphicImage value="http://localhost:8080/aplicacao/caf.do?id=#{recadastroMB.entity.inscricao}&amp;parametroFoto=fotoMedidor" width="400" heigth="400" />
                               
                            </p:dialog>
                            </h:panelGrid>
                            <p:dialog width="800" height="800" widgetVar="expandFotos2" dynamic="false" modal="true" draggable="false" resizable="false"  >
                           
                                <p:graphicImage value="http://localhost:8080/
aplicacao/caf.do?id=#{recadastroMB.entity.inscricao}&amp;parametroFoto=fotoFachada" width="800" heigth="800" />
                           
                            </p:dialog>




     </p:tab>
    </p:tabview>

</p:dialog>

Então, Se eu clico na foto, ela vai abrir um dialog só para mostrar essa foto, daí ele abre o dialog, e depois ele fecha os dois dialogs e recarrega toda a aplicação.


Muito Obrigado desde já.
--

Jonathas Santos Ramos
Técnico em Informática - Desenvolvimento de Sistemas - Ifs 2009/2
Graduado em Informática Licenciatura Plena - Unit 2012/2
Web Developer - Funcionário de Soft House situada em Aracaju - SE
Linux-User: #504931 / Parkour Forever! - Traceur / Saxofonista / Judoca / Violoncelista OSVC



--

Jonathas Santos Ramos
Técnico em Informática - Desenvolvimento de Sistemas - Ifs 2009/2
Graduado em Informática Licenciatura Plena - Unit 2012/2
Web Developer - Funcionário de Soft House situada em Aracaju - SE
Linux-User: #504931 / Parkour Forever! - Traceur / Saxofonista / Judoca / Violoncelista OSVC

jonathas santos ramos

unread,
Jan 16, 2013, 1:46:54 PM1/16/13
to jav...@googlegroups.com

Nilson Uehara

unread,
Jan 16, 2013, 2:33:24 PM1/16/13
to jav...@googlegroups.com
Coloque o segundo dialog fora do primeiro

Um abraço,
Nilson Uehara


--
Você está recebendo esta mensagem porque se inscreveu no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Visite este grupo em http://groups.google.com/group/javasf?hl=pt-BR.
 
 

jonathas santos ramos

unread,
Jan 16, 2013, 2:47:56 PM1/16/13
to jav...@googlegroups.com
Cara, vlw pela dica, mas mesmo assim coloquei fora e deu o mesmo problema, ele abre o dialog mas fecha imediatamente da mesma maneira...

Eu não sei se esse dado é relevante, mas minha aplicação está funcionando em cima de um <p:layout>

Bruno Maomeh

unread,
Jan 16, 2013, 2:50:56 PM1/16/13
to jav...@googlegroups.com
é bem provável que você esteja dando algum tipo de reRender no segundo modal.. 
fazendo-o, assim, voltar ao seu estado inicial.. que é fechado..

reRender é do richfaces.. tem que saber como o primefaces trabalha com isso..
nunca mexi no primefaces.. :)

2013/1/16 jonathas santos ramos <jhon.sa...@gmail.com>

jonathas santos ramos

unread,
Jan 16, 2013, 2:56:47 PM1/16/13
to jav...@googlegroups.com
Eu acredito que o equivalente a essa propriedade rerender do richfaces seja o dynamic do primefaces para o dialog (Que no richfaces chama -se de modal). Neste caso eu coloquei o dynamic =  "false", descarto esta possibilidade.
Muito Estranho esse erro :S

Everton Fujimoto

unread,
Jan 16, 2013, 4:52:05 PM1/16/13
to jav...@googlegroups.com
a impressão que tenho é que você está criando várias dialogs com o mesmo "nome de variável" javascript. Tem como colocar o código da página inteira?

Att.
Everton William Fujimoto
Hecate Systems
CIO
(47)3394-5516
(47)9947-5481

Rafael Pestano

unread,
Jan 18, 2013, 1:33:18 PM1/18/13
to jav...@googlegroups.com
Eu não sei se esse dado é relevante, mas minha aplicação está funcionando em cima de um <p:layout>
 
O dialog não funciona corretamente dentro do p:layout, você deve mover ambos dialogs para fora do layout OU utilizar a propriedade appendToBody=true


Espero que ajude,

Att, 

Rafael M. Pestano

Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS


De: jonathas santos ramos <jhon.sa...@gmail.com>
Para: jav...@googlegroups.com
Enviadas: Quarta-feira, 16 de Janeiro de 2013 17:47
Assunto: Re: [javasf] Re: Abrir dialog dentro de outro dialog

jonathas santos ramos

unread,
Jan 17, 2013, 10:53:55 AM1/17/13
to jav...@googlegroups.com
Pessoal, resolvi, sei que não foi a melhor solução, mas funcionou (Isso me deixa satisfeito em parte).
Para funcionar bastou que eu apenas utilizasse o commandLink do Primefaces.

Desde hoje de manhã eu suspeitava que o problema estivesse no commandLink, eu estava usando o nativo do jsf (f:commandLink), fui na documentação do primefaces e vi a implementação deste componente, daí decidi usar, mas quem souber de alguma coisa ou poder indicar algo, fique a vontade... Eu também tenho vontade de saber a causa/motivo/razão/circunstância do tal problema :D

Em 17 de janeiro de 2013 10:40, jonathas santos ramos <jhon.sa...@gmail.com> escreveu:
Eu postei o código no primeiro email, infelizmente não é essa questão, aproveitei o q vc disse e olhei cada dialog q compõe a página.

jonathas santos ramos

unread,
Jan 17, 2013, 8:40:23 AM1/17/13
to jav...@googlegroups.com
Eu postei o código no primeiro email, infelizmente não é essa questão, aproveitei o q vc disse e olhei cada dialog q compõe a página.

Em 16 de janeiro de 2013 18:52, Everton Fujimoto <evert...@gmail.com> escreveu:

Nilson Uehara

unread,
Jan 17, 2013, 5:58:01 AM1/17/13
to jav...@googlegroups.com
Me parece que é o que o Bruno falou. Coisa de atualização da tela.
Ao invés de <h:commandLink onclick="expandFotos2.show();"> para chamar o dialog, use o controle do Primefaces (p:commandLink), pois ele faz uma chamada AJAX

Um abraço,
Nilson Uehara


Em 16 de janeiro de 2013 18:52, Everton Fujimoto <evert...@gmail.com> escreveu:

Rafael Pestano

unread,
Jan 17, 2013, 5:46:25 AM1/17/13
to jav...@googlegroups.com
Eu não sei se esse dado é relevante, mas minha aplicação está funcionando em cima de um <p:layout>
 
O dialog não funciona corretamente dentro do p:layout, você deve mover ambos dialogs para fora do layout ou utilizar a propriedade appendToBody=true


Espero que ajude,

Att, 

Rafael M. Pestano

Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS


De: jonathas santos ramos <jhon.sa...@gmail.com>
Para: jav...@googlegroups.com
Enviadas: Quarta-feira, 16 de Janeiro de 2013 17:47
Assunto: Re: [javasf] Re: Abrir dialog dentro de outro dialog

edinho freitas

unread,
Jan 17, 2013, 6:17:17 AM1/17/13
to jav...@googlegroups.com
mais acho que seu erro seja por que você está processando e atualizando toda a pagina.

Coloca uma chamada assim e testa.

<p:commandLink  onclick="expandFotos2.show();"
process="@this" update=":form:pnl">
 <p:graphicImage value="http://localhost:8080/aplicacao/caf.do?id=#{recadastroMB.entity.inscricao}&amp;parametroFoto=fotoFachada" width="400" heigth="400" cache="false" />
</p:commandLink>


Em 17 de janeiro de 2013 09:14, edinho freitas <edifr...@gmail.com> escreveu:
verifica o console do navegador e veja se está lançando algum erro de javaScript.

edinho freitas

unread,
Jan 17, 2013, 6:14:07 AM1/17/13
to jav...@googlegroups.com
verifica o console do navegador e veja se está lançando algum erro de javaScript.
Em 16 de janeiro de 2013 19:52, Everton Fujimoto <evert...@gmail.com> escreveu:

Orlando Xavier

unread,
Jan 16, 2013, 2:57:09 PM1/16/13
to javasf
No onclick, faça: expandFotos2.show(); dlg.hide();

[]s


Em 16 de janeiro de 2013 16:50, Bruno Maomeh <bruno...@gmail.com> escreveu:



--
Orlando Xavier

www.orlandoxavier.com
Twitter: @orlandoxavier
(83) 8765-4696 - (83) 9692-3676
Linux User #500540

jonathas santos ramos

unread,
Jan 24, 2013, 10:24:16 PM1/24/13
to jav...@googlegroups.com
Oi Galera, era realmente isto, ñ dava erro. Apenas troquei o h:commandLink por p:commandLink.

Agora como faço para atualizar o dialog antes dele carregar...?! seria um dlg.update() ?!

Fiquei curioso, amanhã busco isso e digo aqui...

Mesmo assim muito obrigado pessoal, mais uma vez e desculpa a demora... É pq as vezes as broncas do trabalho me deixam sem tempo... Muitos aqui entendem e vivem essa rotina também :D
Reply all
Reply to author
Forward
0 new messages