Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: DI-2780

Função

Esse componente apresenta exibe uma lista de opções obtidas a partir de uma fonte de dados, possui um campo de pesquisa para o usuário escolher, no entanto a diferença é que essas opções vêm do banco de dados.

Image Removed

Figura 1 - Caixa de seleção dinâmica

Por exemplo, em uma classe do banco de dados existe um atributo que guarda os títulos dos animes e configurando a caixa de seleção, é possível trazer todos os dados (nesse caso, os nomes das músicas) para fazer a lista de opções.

Configuração

A configuração do componente é a mais importante das propriedades, pois é através dela que todos os ajustes sobre as opções que irão aparecer na caixa de seleção dinâmica, a fonte de dados que será a provedora das opções, quais serão as opções e entre outros estão presentes.

Ao selecionar o componente na área de trabalho da IDE, será apresentado a aba de propriedades no campo direito. O menu de ... que aparece ao lado do campo de configuração permite que você faça as configurações e nela contém as abas geral, template cabeçalho e template rodapé.

Image Removed

Figura 2 - Menu de configuração da caixa de seleção

Geral

filtrar seu conteúdo.


Image Added

Figura 1 - Exemplo do componente rodando no browser


Nota

Não é possível utilizar o mesmo componente visual fonte de dados para dois componentes na mesma tela. Se necessário, utilize outro componente fonte de dados e vincule a mesma entidade ou Fonte de dados.

Uso

Abaixo vemos os elementos que compõe o componentes, esses locais podem ser personalizados.


Image Added

Figura 1.2 - Elementos do componente


  1. Campo do item selecionado: exibe o elemento selecionado e serve como campo de filtro quando o campo Tipo (configurações) estiver selecionado como "Auto completar".
  2. Campo de pesquisa: permite filtrar a lista, visível somente quando o campo Tipo (configurações) estiver selecionado como "Fixo".
  3. Linha vazia, limpa a última seleção.
  4. Cabeçalho: exibe o conteúdo inserido na aba Cabeçalho (template) da janela de configurações.
  5. Lista: exibe a lista com o filtro do campo de pesquisa.
  6. Rodapé: exibe o conteúdo inserido na aba Rodapé (template) da janela de configurações.

Principais propriedades

Aba de Propriedades

Na tabela abaixo estão descritas as principais propriedades para o funcionamento básico do componente.

Nome

Propriedade

Função

Configuração

options

Abre uma janela para personalização do componente.

Título

content

Define o rótulo.

Valor

ng-model

Propriedade Angular que pode ser usada para obter e alimentar o conteúdo pelo bloco de programação.

Requerido

ng-required

Define que o campo é de preenchimento obrigatório.

Texto quando requeridovalidationMessageExibe a mensagem informada ao tentar submeter o formulário com o campo vazio. A propriedade Requerido (ng-required) deve estar configurada com "sim". 

Identificador

id

Atributo que especifica um ID exclusivo para o componente. Por padrão, um ID é gerado automaticamente e atribuído ao componente.

Desabilitadong-disabledDirectiva usada para desabilitar um componente quando a expressão vinculada for verdadeira.
Texto quando não tem resultadono-results-messageTexto exibido quando a busca não oferece resultado. Por padrão o texto apresentado é "no data found", mas pode ser alterado.
EstilostyleAltera o estilo geral do componente de forma inline.

Exibir

ng-show

Propriedade Angular usada para exibir ou oculta o componente.

Repetircrn-repeatPropriedade que seleciona uma fonte de dados contida na tela e repete o componente baseado no número de itens dessa fonte de dados.

Segurança

cronapp-security

Abre a janela de seleção dos grupos com permissões para visualização ou edição.

Skincrn-skinPermite selecionar um skin que afetará apenas o componente selecionado.

Classes CSS

class

Adiciona classes CSS que já foram criadas.


Aba de Eventos

Os eventos abaixo possuem constantes específicas que podem ser passadas no argumento do recurso.

NomePropriedadeFunção

Ao Alterar

ng-change

Executa uma ação assim que algo no componente é alterado.

Ao Selecionar

ng-selected

Executa uma ação assim que selecionar uma opção do componente.


Aba de Estilos

Nome em portuguêsNome em inglêsDescrição

Caixa de Seleção

Combobox

Estiliza a caixa de seleção.

Seta

Dropdown

Estiliza a seta do componente.

Título

Title

Estiliza o título do componente

Lista de Itens

Item List

Estiliza a lista de itens do componente.

Item da Lista Hover

Item List Hover

Estiliza o item da lista Hover.

Item Selecionado

Selected Item

Estiliza o item selecionado.

Âncora
constanteExclusiva
constanteExclusiva

Constantes exclusivas dos eventos

Ao selecionar algum recurso com parâmetros nos eventos Ao Alterar ou Ao Selecionar é possível escolher uma das 3 constantes que são exclusivas para esse componente.

Na figura abaixo foi selecionado um bloco de programação que possui um parâmetro (param) no evento Ao Alterar, dessa forma, é possível selecionar a opção "Expressão" para a coluna Valor do campo e, ao lado, selecionar uma das constantes exclusivas (destaque 1 da figura 2).


Image Added

Figura 2 - Expressões usadas nos eventos Ao Alterar e Ao Selecionar


As expressões exclusivas dos eventos Ao Alterar e Ao Selecionar no componente Caixa de seleção Dinâmica:

  • selected:objeto selecionado.
  • selectedKey: campo chave do registro selecionado no componente.
  • selectedValue: campo texto do registro selecionado no componente.


Informações

Para mais informações sobre as expressões comuns aos demais eventos do componente, consulte a documentação Eventos dos componentes visuais.


Âncora
Configuracao
Configuracao

Configuração

As Configurações possuem diversas propriedades para personalizar e adicionar novos elementos a Caixa de seleção dinâmica. Para abrir a janela de configurações, selecione o componente no editor visual, exibindo suas propriedades no menu lateral, e clique no botão “...” da propriedade Configuração. (Figura 2.1)

A janela possui 3 abas fixas e mais 2 que são exibidas apenas ao habilitar uma opção.

  1. Aba Geral
  2. Aba Cabeçalho
  3. Aba Rodapé
  4. Aba Elementos
  5. Aba Valores


Âncora
abaGeral
abaGeral

Aba Geral

Possui as principais propriedades da Caixa de seleção dinâmica.


Image Added

Figura 2.1 - Aba Geral da janela de configurações do componente


  • Fonte de dados: seleciona ou cria uma fonte de dados para alimentar o componente (Para saber como configura uma fonte de dados, acesse Componente visual fonte de dados):

    • "+": adiciona

Fonte de dados: define a classe que fornecerá os dados para serem as opções do auto completar."+": adiciona
    • uma fonte de dados.

    • "...":

 configura uma fonte de dados. Informações
titleDica
Para saber mais sobre como
    • configura uma fonte de dados

, acesse o link ao lado: Fonte de DadosPlaceholder: mostra um texto na caixa de seleção que serve para auxiliar o usuário o que ele precisa fazer, mas seu uso é opcional. Ao lado do campo, tem-se o ícone para fazer a internacionalização do texto do placeholder
    • .

  • Tipo Filtro:

 
  • define a forma de filtragem dos dados, podendo ser:

    • <Vazio>:

    • remove o campo de pesquisa do componente.
    • Contendo: ao digitar no campo de pesquisa será mostrada as opções que contêm a sequência das

Iniciando com: mostra as opções que comecem com as
    • letras digitadas.

Contendo: mostra
    • Iniciando com: ao digitar no campo de pesquisa será mostrada as opções que

contêm as
    • comecem com a sequência das letras digitadas.

    • Final com:

 mostra
    • ao digitar no campo de pesquisa será mostrada as opções que

terminam
    • terminem com

as
    • a sequência das letras digitadas.

  • Campo Texto:

 define os valores a serem exibidos na caixa de seleção. Nele são apresentados os atributos da fonte de dados selecionada.
  • Campo Valor: define qual valor será enviado ao sistema após a seleção da opção. Nele são apresentados os atributos da fonte de dados selecionado, a partir do atributo selecionado no campo texto, o campo valor correspondente será enviado ao sistema.
  • Máscara: define a forma como será apresentado o valor. Apesar de ter uns exemplos prontos, é possível editá-los ou criar um.
  • Rótulo: tem a mesma ideia que um placeholder, que é mostrar um texto enquanto o conteúdo estiver vazio. No entanto, ele pode ser selecionado caso não queria fazer a seleção de nenhuma das opções da lista e isso faz com que nenhum campo valor seja retornado.
    • define o campo da fonte de dados que será exibido no campo de seleção (destaque 1 da figura 2).

    • Modificar texto em: permite escolher o Valor (ng-model) de outro campo na tela para ser alimentado com opção selecionada pela Caixa de seleção dinâmica,
    • Campo Chave: permite selecionar qualquer atributo do objeto para ser o identificador do registro selecionado, normalmente são utilizados campos de chave primária.

      Informações

      A opção "_objectKey" é utilizada para representar o(s) campo(s) chave(s) do objeto. Porém, se a Fonte de dados não possuir nenhum campo definido como chave, a opção "_objectKey" exibirá uma chave temporária com a concatenação de todos os atributos do registro, separando-os com o símbolo til "~" (ex.: <atributo1>~<atributo2>~<atributoN>). Isso pode ocorrer, por exemplo, em Fontes de dados do tipo Bloco de programação alimentada por lista de objetos.

      Para evitar obter o valor nesse formato, basta selecionar outro atributo do objeto no Campo Chave.

    • Tipo: define o formato do campo de pesquisa.
      • Auto completar: a área com o campo do item selecionado (destaque 1 da figura 2) também será um campo de pesquisa e uma nova requisição é feita a cada novo caractere informando, redefinindo a lista.
      • Fixo. um campo de pesquisa será exibido no começo da lista e uma nova requisição é feita a cada novo caractere informando, redefinindo a lista.
    • Máscara ({0:d}): define a forma como serão apresentados os elementos na lista e após a seleção. É possível criar ou selecionar uma máscara da lista.
      Esse campo ficará desabilitado ao ativar a opção Usar Template Personalizado.
    • Texto do rótulo: define o conteúdo do campo como a primeira opção (estático) da caixa de seleção. É possível internacionalizá-lo clicando no ícone no final do campo.

    • Valor do rótulo: define um identificador para o conteúdo inserido no campo Texto do rótulo. É possível internacionalizá-lo clicando no ícone no final do campo. Esse campo ficará desabilitado ao habilitar a opção Permitir valor nulo.

    • Permitir valor nulo: marcando essa opção, quando o usuário selecionar a opção do campo Texto do rótulo o valor nulo é retornado. O campo Valor do Rótulo fica desabilitado quando essa opção está ativa.

    • Valor Inicial: informe o identificador de um dos registros para iniciar o componente com o elemento selecionado. Utilizar aspas (ex.: "59a5-11eb-95ba") em identificadores do tipo texto

    Valor Inicial: determina qual será a primeira opção apresentada na caixa de seleção, antes de mostrar todas as opções. Esse campo fica disponível quando a opção ao iniciar usar valor do primeiro registro não está marcada. Sua determinação fica a critério do usuário, que pode utilizar blocos de programação, expressão ou o campo de tela
    • .

    • Ao iniciar usar valor do primeiro registro:

     quando marcada essa opção, irá aparecer na caixa de seleção o primeiro registro adicionado no atributo escolhido.
    • marque essa opção para sempre vir selecionado o primeiro registro da fonte de dados,

    • Usar valor primitivo:

     é o valor default, utilizado quando tinha-se os problemas de integração com os valores dos objetos que eram repassados para a caixa
    •  ao marcar (valor padrão), os dados se tornam do tipo primitivo - ou seja, eles deixam de ser representados como objetos. Caso seja desmarcado, o campo do objeto será clonado e o tipo será o mesmo do objeto.

    • Alterar cursor ao modificar:

     
    • coloca o cursor do registro selecionado na caixa de seleção dinâmica

    no banco
    • na fonte de dados.

    Valor chave e valor exibição

    Valor chave define o conteúdo que será utilizado pelo sistema, enquanto o valor exibição irá mostrar as opções na caixa de seleção. Eles podem ser iguais ou não, dependendo do tipo da chave.

    Por exemplo, tem-se a opção com o valor de exibição chamado oi e seu valor chave é hello. Enquanto na tela será exibido oi, o sistema estará usando hello no lugar.

    Template Cabeçalho

    Ele cria uma área no início da lista de opções exibidas na caixa de seleção utilizando tags de HTML, podendo ser de parágrafo, imagem, etc.

    Image Removed

    Figura 3 - Configuração e resultado na adição de um template cabeçalho

    Template Rodapé

    Ele cria uma área no fim da lista de opções exibidas na caixa de seleção utilizando tags de HTML, podendo ser de parágrafo, imagem, etc.

    Image Removed

    Figura 4 - Configuração e resultado na adição de um template rodapé

    • Usar Template Personalizado: ao selecionar, as abas Elementos e Valores são exibidas para personalizar, respectivamente, o modo como será exibido os elementos da lista e o modo como será exibido o item selecionado.
      O formato da máscara padrão para alguns tipos de atributos, exemplo tipo Date, podem ser afetadas apenas ao marcar ou desmarcar essa opção.


    Informações
    titleBloco Obter Valor do Campo

    É possível utilizar o bloco de programação Obter Valor do Campo (Cliente ou Servidor) para conseguir o elemento selecionado pelo usuário na Caixa de seleção dinâmica. O retorno do bloco será sempre o atributo selecionado no campo Campo Chave.

    Âncora
    abaCabecalho
    abaCabecalho

    Aba Cabeçalho

    Na aba Cabeçalho é possível adicionar texto e elementos HTML para incluir no início da lista de opções.


    Image Added

    Figura 2.2 - Adicionando um cabeçalho ao componente


    O conteúdo inserido nessa aba será exibido na área destacada pelo item 1 da figura 2.3.


    Image Added

    Figura 2.3 - Cabeçalho do componente

    Âncora
    abaRodape
    abaRodape

    Aba Rodapé

    Na aba Rodapé é possível adicionar texto e elementos HTML para incluir no fim da lista de opções.


    Image Added

    Figura 2.4 - Adicionando um rodapé ao componente


    O conteúdo inserido nessa aba será exibido na área destacada pelo item 1 da figura 2.5.


    Image Added

    Figura 2.5 - Rodapé do componente

    Âncora
    abaElementos
    abaElementos

    Aba Elementos

    A aba Elementos só será exibida ao marcar a opção Usar Template Personalizado na aba Geral. Nela podemos definir como serão exibidos os itens da lista para seleção, é possível inserir tanto atributos do objeto de forma dinâmica quanto conteúdo estático, além de alguns recursos de HTML e Javascript (high-code). 

    Para exibir os atributos dos itens da fonte de dados, use a seguinte notação: #: data.<Campo da Fonte de dados> # 

    No exemplo abaixo, listamos o e-mail e o nome de usuário do objeto, porém, no nome de usuário adicionamos uma função Javascript (toUpperCase) para deixar todos os caracteres em maiúsculo.

    Veja como manipular os atributos do objeto no tópico Edição do template.


    Image Added

    Figura 2.6 - Personalização dos elementos da lista


    O conteúdo inserido nessa aba afetará a lista destacada pelo item 1 da figura 2.7.


    Image Added

    Figura 2.7 - Elementos da lista

    Âncora
    abaValores
    abaValores

    Aba Valores

    A aba Valores só será exibida ao marcar a opção Usar Template Personalizado na aba Geral. Nela podemos definir como será exibido o item selecionado, é possível inserir tanto atributos do objeto de forma dinâmica quanto conteúdo estático, além de alguns recursos de HTML e Javascript (high-code).

    Para exibir os atributos dos itens da fonte de dados, use a seguinte notação: #: data.<Campo da Fonte de dados> #

    No exemplo abaixo, listamos o nome e o nome de usuário contido no objeto, porém, no nome de usuário adicionamos tags HTML (<b></b>) para deixá-lo em negrito.

    Veja como manipular os atributos do objeto no tópico Edição do template.


    Image Added

    Figura 2.8 - Personalização do elemento selecionado


    O conteúdo inserido nessa aba afetará o item 1 da figura 2.9.


    Image Added

    Figura 2.9 - Componente com um item selecionado

    Âncora
    exemploPersonalizacaoDoTemplate
    exemploPersonalizacaoDoTemplate

    Exemplo de personalização do Template

    As abas Elementos e Valores permitem utilizar elementos de HTML e Javascript (High-code) para manipular os atributos do objeto. Se o objetivo for exibir apenas um atributo personalizado tanto na lista quanto ao selecionar o elemento, provavelmente utilizar o campo Máscara ({0:d}) da aba Geral seja suficiente. No entanto, se for necessário incluir mais de um atributo ou se houver a necessidade de exibir os itens da lista e o item selecionado de maneira distinta, a personalização dos templates pode ser utilizada.

    Os métodos Javascript devem ser utilizados com base no tipo do dado do atributo selecionado, por exemplo: Date, String, Number, Boolean etc. Além disso, pode ser necessário utilizar if ternário para tratar valores nulos (Figura 3.1).


    Dica

    Outra alternativa para manipular os atributos exibidos sem utilizar as configurações do componente Caixa de seleção dinâmica é criando um Campo Calculado na Fonte de dados vinculada e, em seguida, selecioná-lo no Campo Texto na aba Geral. Os Campos calculados podem ser alimentados a partir do retorno de uma função de bloco de programação.


    Na figura abaixo vemos um componente Caixa de seleção dinâmica vinculado a um atributo do tipo Data sem máscara ou personalização de templates nas abas Elementos e Valores.


    Image Added

    Figura 3 - Atributo de data sem a personalização de template


    Nos exemplos abaixo, tanto a aba Valores (destaque 1) quanto a aba Elementos (destaque 2) está utilizando um if ternário para validar se o atributo de data está nulo, caso esteja, não exibirá nada ('').


    Image Added

    Figura 3.1 - Templates usados para o tratamento de datas


    1. Aba Valores: se o atributo for diferente de nulo, utiliza o método toLocaleString para modificar o atributo "nasc" para o formato data e hora e, em seguida, obtém os 10 primeiros caracteres com o método substr.
    2. Aba Elementos: se o atributo é diferente de nulo, utiliza o método concat para concatenar o atributo "nome" com o atributo "nasc" que foi formatado utilizando o método toLocaleDateString.


    O resultado das alterações da figura 3.1 podem ser vistas na figura abaixo.


    Image Added

    Figura 3.2 - Atributo de data com a personalização de template

    Nome em inglês

    Dynamic Combobox


    Nesta página

    Índice
    maxLevel3
    printablefalse


    Compatibilidade

    • Formulário web


    Equivalente mobile

    Caixa de seleção dinâmica (mobile)


    Botão do Componente

    Image Added


    Imagem no Editor Visual

    Image Added


    Assista sobre o tema no Cronapp Academy

    Informações

    Caso seja seu primeiro acesso ao Cronapp Academy, crie antes uma conta gratuita e matricule-se no curso abaixo.

    Painel
    titleNessa Página

    Índice

    Painel
    titleBotão do componente

    Image Removed

    Painel
    titleImagem no Editor Visual
    Image Removed