Tabela
1. Geral
A Tabela é o componente para a criação de listas e tabelas interativas. Ele é a escolha ideal para CRUDs (Criar, Ler, Atualizar, Deletar), pois permite visualização de dados, imagens, ícones, edição em linha, ações por registro, busca e paginação de forma nativa.
2. Como Configurar
A configuração do componente é feita através de um conjunto de variáveis. Abaixo estão as suas funcionalidades e como configurá-las.
3. Dados
3.1. Query
Configure seu SQL e use o preview para validar os dados. Retorne todas as colunas que serão referenciadas na variável dataField
na configuração das colunas. Dica: Use alias nas colunas para facilitar a referência.
Dica para uso de datas: Na query, use DATE_FORMAT(..., '%Y-%m-%d')
, casando exatamente com o formato definido na variável de inputDateFormat
(exemplo: "yyyy-MM-dd") na configuração da sua coluna de data.
4. Colunas
4.1. Colunas
É o coração da lista. Define, através de um JSON, cada coluna da tabela: seu título, o tipo de dado (texto, input, etc.), a largura e a ordem de exibição. Dentro desse JSON, cada linha deve ter:
Campos Obrigatórios:
columnName
: Um nome único para a coluna.
headerName
: O título que aparecerá no cabeçalho.
dataField
: O nome (ou alias) da coluna vinda da sua query.
position
: Um número que define a ordem de exibição (menores primeiro).
columnType
: O tipo de conteúdo da célula. São eles:
data_text
,data_number
: Apenas para exibir dados de texto e número (não editável).input_text
,input_number
,input_date
: Campos de texto, número ou data editáveis.Para todos os inputs, defina a variável
onValueChangeDBActionID
com o ID da Ação de Database que salvará a alteração. Exemplo de Ação de Database:Para
input_date
, use a variávelinputDateFormat
(exemplo: "dd/MM/yyyy") de forma que case com o formato de data definido na sua query.
input_dropdown
: Cria uma lista de seleção (dropdown) editável.Use a variável
dropdownOptionsWithQuery
para definir as opções do dropdown através de uma query em SQL que retorne duas colunas: ID e DESCR. Exemplo de query:Ou use a variável
dropdownOptions
para definir as opções do dropdown através de uma lista estática. Formato esperado:[ {label, value} ]
. Exemplo:
data_boolean_checkbox
: Exibe um checkbox (marcado/desmarcado) editável.action_button
: Cria um único botão com texto dentro da célula.buttonText
: Defina o texto do botão.buttonVariant
: Define o estilo do botão.normal
: visual neutro. Use para ações comuns.destructive
: visual vermelho. Use só para ações potencialmente irreversíveis ou de alto impacto.
interaction
: Define a interação do botão. Deve seguir o formato"tipo:id"
, onde tipo pode ser: "form", "modal", "dbaction" ou "action". Exemplo: “form:2” ou “dbaction:5”.setRowIdVariableForButton
: Coloque o nome da variável que recebe o ID do registro ao clicar.
Campos Opcionais:
enableSorting
: ativa (true) ou desativa (false) a ordenação de uma coluna.
width
: define a largura fixa da coluna. O valor é passado como string com unidade de medida, por exemplo: "120px".
disabledControlColumn
: recebe o nome de uma coluna da query que funciona como "chave de bloqueio". Se o valor dessa coluna for 0, o input correspondente será automaticamente desabilitado, caso seja 1, ele fica habilitado. É útil para criar lógica condicional de edição dentro da própria tabela.
4.2. Colunas de Ícones e Fotos
Permite, através de um JSON, criar colunas especiais que exibem uma imagem (avatar) ou um ícone customizável.
Campos para definir:
columnName
: Nome único da coluna.
headerName
: O título que aparecerá no cabeçalho.
width
: Largura da coluna. Valor em string com unidade de medida (ex.: "60px"). Padrão: 60px.
imageField
: Campo da query que retorna a URL da imagem.
iconField
: Campo da query que retorna o nome do ícone a ser exibido, só aparece caso a imageField não for definida.
iconColorField
: Campo da query que define a cor do ícone.
iconBgColor1Field
: Cor de fundo inicial (sólido).
iconBgColor2Field
: Cor de fundo final (quando quiser usar gradiente).
position
: Número que define a ordem de exibição (menores primeiro).
imageShape
: Formato da imagem. Aceita os valores:
circle
: Imagem circularrounded
: Bordas arredondadassquare
: Imagem quadrada
5. Configurações
5.1. Título Geral
Define o título que aparece no topo do componente.
5.2. Subtítulo Geral
Define o subtítulo que aparece no topo do componente.
5.3. Variável de ID
Define o nome da variável que armazenará o ID da linha quando um campo for alterado. Exemplo: :VAR_REGISTRO_ID
.
5.4. Variável na Alteração
Define o nome da variável que receberá o novo valor do campo alterado. Exemplo: :VAR_VALUE_ALTER
.
6. Botões
6.1. Grupo de Botões da coluna “Ações”
Configura, através de um JSON, os botões de ação que aparecem na coluna “Ações” dentro da Tabela, em cada linha. Exemplo: botões para editar e excluir. Cada objeto é um botão com ícone, texto e interação.
Campos para definir:
icon
: Nome do ícone (biblioteca Lucide, em PascalCase). Exemplos: Download, Undo, Trash2, Eye, Pencil.
hoverText
: Texto do tooltip exibido ao passar o mouse.
interaction
: Define a ação ao clicar. Formato "tipo:id"
, onde tipo pode ser form, modal, dbaction ou action. Exemplos: "form:2", "dbaction:5".
bgColor
: Cor de fundo do botão (HEX). Exemplo: "#EF4444".
iconColor
: Cor do ícone (HEX). Exemplo: "#FFFFFF".
queryColumn
: Caso queria um botão com visibilidade dinâmica, insira o nome da coluna booleana/numérica da query que controla se o botão aparece (1) ou não (0).
Observação: Para os botões funcionarem perfeitamente para cada registro, não se esqueça de definir a Variável de ID.
6.2. Botões do Cabeçalho
Configura, através de um JSON, os botões do cabeçalho. Exemplo: “Adicionar Novo Item”. Cada objeto é um botão com texto, ícone, interação.
Campos para definir:
label
: Texto do botão.
icon
: Nome do ícone (biblioteca Lucide, em PascalCase). Exemplos: Download, Undo, Trash2, Eye, Pencil.
interaction
: Define a ação ao clicar. Formato "tipo:id"
, onde tipo pode ser form, modal, dbaction ou action. Exemplos: "form:2", "dbaction:5".
bgColor
: Cor de fundo do botão (HEX). Exemplo: "#EF4444".
textColor
: Cor do texto e ícone (HEX). Exemplo: "#FFFFFF".
7. Paginação
7.1. Paginação
Ativa ou desativa a paginação da tabela.
7.2. Quantidade de linhas por página
Define o número de registros que serão exibidos por página quando a paginação está ativa. Caso não seja definido, o padrão é 7 registros por página.
8. Design
8.1. Exibição da Borda
Adiciona uma borda e sombra ao redor do componente, criando um visual de “card” mais elegante.
8.2. Exibição da Barra de Buscar
Exibe a barra de busca no cabeçalho, permitindo que o usuário filtre os resultados.
8.3. Estilo de Design da Tabela
Define o estilo visual da tabela. Use o Estilo Clássico para CRUDs (padrão) ou Estilo Análise de Dados para tabelas de análise (mais compacto e próprio para análises, normalmente utilizado sem a Barra de Buscar).
9. Modal
9.1. Tamanho do Modal
Define o tamanho padrão dos modais abertos a partir de uma interação na lista. Use o formato "largura:altura"
em percentual (ex: "80:90" para um modal que ocupa 80% da largura e 90% da altura da tela). Se deixado em branco, o modal abrirá em tela cheia.
9.2. Fechar ao Recarregar Modal?
O modal aberto será fechado automaticamente após uma ação interna que recarregue a tela do modal.
10. Configurações Avançadas
Se quiser explorar opções avançadas de personalização, acesse nossa documentação. Lá você encontrará instruções para configurações mais complexas para adaptar o componente exatamente às suas necessidades.