sábado, 2 de fevereiro de 2019

Composite Componente JSF - Lookup

Introdução

Nesse post vou mostrar como utilizar o composite componente do JARCH para busca avançada de registro, o componente identificado como e:lookup foi criado para essa finalidade

e:lookup

Para a utilização desde componente é preciso duas etapas:
  1º - A Entidade deve estar anotada com @JArchLookup para declarar o campo de pesquisa rápida (por exemplo um código), e o campo de descrição, conforme exemplo abaixo:
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
@Entity
@JArchLookup(codeAttribute = "codigo", descriptionAttribute = "descricao")
public class ProdutoEntity ...
 @Id
 @Column(name = "id_produto")
 private Long id;

 @Column(name = "cd_produto")
 private String codigo;

 @Column(name = "ds_produto"
 private String descricao;
...

  2º - Se a entidade for uma extensão de BaseEntity do JARCH, será criado automaticamente na compilação uma classe que estende BaseFilterSelectAction. Se a entidade não for uma extensão do BaseEntity do JARCH é necessário a criação dessa Action conforme o exemplo abaixo:
1
2
3
4
@JArchViewScoped
@Generated(value = "com.arch.apt.generate.implicit.EntityProcessor", date = "10/09/2018 17:56:14")
public class ProdutoFilterSelectAction extends BaseFilterSelectAction<ProdutoEntity> {
}


Vamos começar a declaração desse componente na página, bastando somente colocar o código a seguir:

1
2
3
4
5
<e:lookup labelUnique="#{a:bundle('label.codigo')}"
          value="#{relatorioProdutoAction.produtoEntity}"
          actionFilterSelect="#{produtoFilterSelectionAction}"
          createExtensionInternal="true"
/>

O atributo value é onde a entidade consultada será armazenada.
O atributo actionFilterSelect é a action da extensão da        classe BaseFilterSelectAction do JARCH.
O atributo createExtensionInternal diz se vai ser criado um popup automático ou manual.

O componente na página fica assim:
Para fazer uma pesquisa, basta colocar o código, ou clicar no botão com a lupa para abrir o popup, conforme a seguir:
Ao pesquisar clicar em pesquisar, será feita uma busca no banco de dados na tabela da entidade e retornará no grid para a escolha, conforme abaixo:

Ao selecionar um registro clicando no Check da 1º coluna do registro, é retornado a pagina com o registro escolhido, conforme abaixo:

Este componente tem mais alguns atributos adicionais, segue os mais relevantes
  hideCode: Esconde o inputText código.
  widthCodeDetermina o tamanho do inputText código.
  hideDescription: Esconde o inputText descrição.
  styleDescription: Coloca um estilo no inputText descrição.
  header: Descrição do cabeçalho do popup.
  visible: Deixa o componente visível.
  update: Atualiza algum componente externo.
  process: Componente que será forçado a atualização do conteúdo.
  required: Determina se o campo é obrigatório.
  listener: Executa uma ação do ManagedBean.

Conclusão

Nesse post vimos como se utiliza o componente e:lookup, suas configurações e alguns atributos.

Até mais,

Nenhum comentário:

Postar um comentário

Versão 23.3.0-Final

      Introdução Nesse post vou mostrar as principais novidades da versão 23.3.0, algumas correções e pequenas alterações. Alterações Além d...