Criado todo para filtro avançado

This commit is contained in:
Luiz Silva 2026-01-29 11:41:45 -03:00
parent 27c9e4d5e2
commit 0144788548
5 changed files with 36 additions and 2 deletions

View file

@ -17,4 +17,5 @@ export type TiposTabelaCelulas = {
};
};
export type TipoTabelaCelula = keyof TiposTabelaCelulas;
export type TipoTabelaCelula = keyof TiposTabelaCelulas;

View file

@ -1,6 +1,9 @@
import type { tipoResposta } from "p-respostas";
import type { LucideIcon } from "lucide-vue-next";
import type { TipoTabelaCelula, TiposTabelaCelulas } from "./celulas/tiposTabelaCelulas";
import { operadores, tipoFiltro } from "p-comuns";
import { TipoEntrada } from "../EliEntrada";
import { ComponenteEntrada } from "../EliEntrada/tiposEntradas";
@ -37,7 +40,7 @@ export type EliColuna<T> = {
* exibir controles de ordenação e utiliza o valor como chave para o backend.
*/
coluna_ordem?: keyof T;
/**
* indica que a coluna será visivel, se false incia em detalhe
* Caso tenha salvo a propriedade de visibilidade será adotado a propriedade salva
@ -90,6 +93,10 @@ export type EliTabelaConsulta<T> = {
* ordenação (`coluna_ordem`/`direcao_ordem`) e paginação (`offSet`/`limit`).
*/
consulta: (parametrosConsulta?: {
//Todo: Esse filtros são recebido do processamento de filtro avandado
filtros?: tipoFiltro[]
coluna_ordem?: keyof T;
direcao_ordem?: "asc" | "desc";
offSet?: number;
@ -117,5 +124,17 @@ export type EliTabelaConsulta<T> = {
/** Função executada ao clicar no botão. */
acao: () => void;
}[];
/** configuração para aplicação dos filtros padrões */
// Todo: quando exite aparace ap lado do obtão coluna o potão filtro avançado, onde abre um modal com dua colunas de compoentes que são contruidas conforme esse padrão
// todo: Os filtros criados deverão ser salvo em local storagem como um objeto tipofiltro[]
filtroAvancado?: {
coluna: keyof T,
operador: operadores | keyof typeof operadores,
entrada: ComponenteEntrada
}[]
};