sexta-feira, 22 de janeiro de 2010

ADF 11g gerenciando Popup via ManagedBean

Uma das características do ADF 11g, é poder gerenciar um Popup, por um ManagedBean.
Crie um projeto no JDeveloper 11G
Como exemplo vou criar um projeto simples somente com um view, um bean e uma Página jsp.

Nesta Página insira um componente popup, dentro do popup insira um componente Dialog, para termos os botões ok e cancel por default.Set a propriedade  contentDelivery como lazy assim garantimos um “refresh” nos componentes.
Insira também um componente OutputText, para vermos as modificações.

JDeveloper com a Página do Popup

Agora criaremos um ManagedBean para a nossa aplicação, insira também um botão ou qualquer outro componente que gere um evento na página jsp. Defina sua propriedade PartialSubmit como true veja

image

Crie um Action para o botão e defina como corpo do método como abaixo

   1: public String actionChamaPopup() {
   2:     FacesContext context = FacesContext.getCurrentInstance();
   3:  
   4:     StringBuilder script = new StringBuilder();
   5:     script.append("var popup = AdfPage.PAGE.findComponent('").append("popID").append("'); ").append("if (!popup.isPopupVisible()) { ").append("var hints = {}; \n" +
   6:             " hints[AdfRichPopup.HINT_ALIGN] = AdfRichPopup.ALIGN_AFTER_START;\n" +
   7:             " hints[AdfRichPopup.HINT_ALIGN_ID] = 'botaoID';\n ").append("popup.show(hints);}");
   8:     ExtendedRenderKitService erks =
   9:         Service.getService(context.getRenderKit(),
  10:                            ExtendedRenderKitService.class);
  11:     erks.addScript(context, script.toString());
  12:     setTexto("Exemplo");
  13:     return null;
  14: }

Neste método você descreve o script para chamar a popup,  define o alinhamento, e quem a popup deve pegar como base para se alinhar


Posições de alinhamento
ALIGN_AFTER_START
ALIGN_AFTER_END
ALIGN_BEFORE_START
ALIGN_BEFORE_END
ALIGN_END_AFTER
ALIGN_END_BEFORE
ALIGN_START_AFTER
ALIGN_START_BEFORE


Agora o projeto em execução


image


Abaixo está o fonte do projeto, divirta-se :D

Marcadores: ,


Comentários: Postar um comentário



Links para esta postagem:

Criar um link



<< Início

This page is powered by Blogger. Isn't yours?

Assinar Postagens [Atom]