implementado filtro26

This commit is contained in:
Luiz Silva 2026-02-17 11:33:44 -03:00
parent ba0e116a92
commit 5124844773
18 changed files with 3247 additions and 3257 deletions

View file

@ -97,10 +97,12 @@ export type tipoEliTabelaConsulta<T> = {
// Definição de Filtro Avançado
filtroAvancado?: Array<{
chave: string;
rotulo: string;
coluna: keyof T;
operador: string; // ex: "=", "like", ">="
entrada: any; // Definição do componente, ex: ["texto", { ... }]
/** Função que gera o filtro com base no valor recebido do input */
filtro: (valor: unknown) => tipoFiltro<T>;
/** Definição do componente de entrada, ex: ["texto", { ... }] */
entrada: any;
}>;
};
```
@ -129,7 +131,7 @@ Use o helper `celulaTabela` para criar definições de células com segurança d
```vue
<script setup lang="ts">
import { EliTabela, celulaTabela } from "eli-vue";
import { EliTabela, celulaTabela, criarFiltro26 } from "eli-vue";
import type { tipoEliTabelaConsulta } from "eli-vue";
import { UsuarioService } from "@/services/UsuarioService";
import { BadgeCheck, Pencil, Plus } from "lucide-vue-next";
@ -170,15 +172,16 @@ const tabelaConfig: tipoEliTabelaConsulta<Usuario> = {
filtroAvancado: [
{
rotulo: "Nome",
coluna: "nome",
operador: "like",
// definição do input: ["tipo", opcoes]
chave: "nome",
// Função que retorna o objeto de filtro estruturado
filtro: (valor: unknown) => criarFiltro26({ nome: { like: valor as string } }),
// Definição do input: ["tipo", opcoes]
entrada: ["texto", { rotulo: "Nome do usuário" }] as any
},
{
rotulo: "Ativo?",
coluna: "ativo",
operador: "=",
chave: "ativo",
filtro: (valor: unknown) => criarFiltro26({ ativo: { "=": valor } }),
entrada: ["selecao", {
rotulo: "Status",
itens: () => [