Criado todo para filtro avançado
This commit is contained in:
parent
27c9e4d5e2
commit
0144788548
5 changed files with 36 additions and 2 deletions
|
|
@ -37,6 +37,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dayjs": "^1.11.19",
|
"dayjs": "^1.11.19",
|
||||||
"lucide-vue-next": "^0.563.0",
|
"lucide-vue-next": "^0.563.0",
|
||||||
|
"p-comuns": "git+https://git2.idz.one/publico/_comuns.git",
|
||||||
"p-respostas": "git+https://git2.idz.one/publico/_respostas.git"
|
"p-respostas": "git+https://git2.idz.one/publico/_respostas.git"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
pnpm-lock.yaml
generated
3
pnpm-lock.yaml
generated
|
|
@ -14,6 +14,9 @@ importers:
|
||||||
lucide-vue-next:
|
lucide-vue-next:
|
||||||
specifier: ^0.563.0
|
specifier: ^0.563.0
|
||||||
version: 0.563.0(vue@3.5.25(typescript@5.9.3))
|
version: 0.563.0(vue@3.5.25(typescript@5.9.3))
|
||||||
|
p-comuns:
|
||||||
|
specifier: git+https://git2.idz.one/publico/_comuns.git
|
||||||
|
version: git+https://git2.idz.one/publico/_comuns.git#d783fa12940a5b1bcafa5038bd1c49c3f5f9b7fc(cross-fetch@4.1.0)(dayjs@1.11.19)(uuid@11.1.0)(zod@4.1.4)
|
||||||
p-respostas:
|
p-respostas:
|
||||||
specifier: git+https://git2.idz.one/publico/_respostas.git
|
specifier: git+https://git2.idz.one/publico/_respostas.git
|
||||||
version: git+https://git2.idz.one/publico/_respostas.git#8c24d790ace7255404745dcbdf12c5396e8b9843(cross-fetch@4.1.0)(dayjs@1.11.19)(uuid@11.1.0)
|
version: git+https://git2.idz.one/publico/_respostas.git#8c24d790ace7255404745dcbdf12c5396e8b9843(cross-fetch@4.1.0)(dayjs@1.11.19)(uuid@11.1.0)
|
||||||
|
|
|
||||||
|
|
@ -120,3 +120,13 @@ export type PadroesEntradas = {
|
||||||
* Ex.: "texto" | "numero"
|
* Ex.: "texto" | "numero"
|
||||||
*/
|
*/
|
||||||
export type TipoEntrada = keyof PadroesEntradas
|
export type TipoEntrada = keyof PadroesEntradas
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export type PadraoComponenteEntrada<T extends TipoEntrada> =
|
||||||
|
readonly [T, PadroesEntradas[T]['opcoes']]
|
||||||
|
|
||||||
|
export type ComponenteEntrada = {
|
||||||
|
[K in TipoEntrada]: PadraoComponenteEntrada<K>
|
||||||
|
}[TipoEntrada]
|
||||||
|
|
@ -18,3 +18,4 @@ export type TiposTabelaCelulas = {
|
||||||
};
|
};
|
||||||
|
|
||||||
export type TipoTabelaCelula = keyof TiposTabelaCelulas;
|
export type TipoTabelaCelula = keyof TiposTabelaCelulas;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
import type { tipoResposta } from "p-respostas";
|
import type { tipoResposta } from "p-respostas";
|
||||||
import type { LucideIcon } from "lucide-vue-next";
|
import type { LucideIcon } from "lucide-vue-next";
|
||||||
import type { TipoTabelaCelula, TiposTabelaCelulas } from "./celulas/tiposTabelaCelulas";
|
import type { TipoTabelaCelula, TiposTabelaCelulas } from "./celulas/tiposTabelaCelulas";
|
||||||
|
import { operadores, tipoFiltro } from "p-comuns";
|
||||||
|
import { TipoEntrada } from "../EliEntrada";
|
||||||
|
import { ComponenteEntrada } from "../EliEntrada/tiposEntradas";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -90,6 +93,10 @@ export type EliTabelaConsulta<T> = {
|
||||||
* ordenação (`coluna_ordem`/`direcao_ordem`) e paginação (`offSet`/`limit`).
|
* ordenação (`coluna_ordem`/`direcao_ordem`) e paginação (`offSet`/`limit`).
|
||||||
*/
|
*/
|
||||||
consulta: (parametrosConsulta?: {
|
consulta: (parametrosConsulta?: {
|
||||||
|
|
||||||
|
//Todo: Esse filtros são recebido do processamento de filtro avandado
|
||||||
|
|
||||||
|
filtros?: tipoFiltro[]
|
||||||
coluna_ordem?: keyof T;
|
coluna_ordem?: keyof T;
|
||||||
direcao_ordem?: "asc" | "desc";
|
direcao_ordem?: "asc" | "desc";
|
||||||
offSet?: number;
|
offSet?: number;
|
||||||
|
|
@ -117,5 +124,17 @@ export type EliTabelaConsulta<T> = {
|
||||||
/** Função executada ao clicar no botão. */
|
/** Função executada ao clicar no botão. */
|
||||||
acao: () => void;
|
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
|
||||||
|
}[]
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue