melhorias em tabelas

This commit is contained in:
Luiz Silva 2026-02-16 10:17:07 -03:00
parent 57325f6744
commit 5438901670
7 changed files with 189 additions and 157 deletions

View file

@ -2,7 +2,7 @@
import { type PropType } from "vue";
import { type EliTabelaColunasConfig } from "./colunasStorage";
/** Tipos da configuração/contrato da tabela */
import type { parametrosConsulta, tipoEliColuna, tipoEliTabelaConsulta } from "./types-eli-tabela";
import type { parametrosConsulta, tipoEliColuna, tipoEliTabelaConsulta, tipoFiltro } from "./types-eli-tabela";
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@ -40,9 +40,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
icone?: import("lucide-vue-next").LucideIcon;
cor?: string;
rotulo: string;
acao: (parametrosConsulta?: parametrosConsulta<any> | undefined) => void;
atualizarConsulta?: () => Promise<void>;
editarLista?: ((lista: any[]) => Promise<any[]>) | undefined;
acao: (parametrosConsulta: parametrosConsulta<any> & {
atualizarConsulta: () => Promise<void>;
editarLista: (lista: any[]) => Promise<any[]>;
}) => void;
}[]>;
temAcoesSuperiores: import("vue").ComputedRef<boolean>;
acoesInferiores: import("vue").ComputedRef<{
@ -50,12 +51,22 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
icone?: import("lucide-vue-next").LucideIcon;
cor?: string;
rotulo: string;
acao: (parametrosConsulta?: parametrosConsulta<any> | undefined) => void;
atualizarConsulta?: () => Promise<void>;
editarLista?: ((lista: any[]) => Promise<any[]>) | undefined;
acao: (parametrosConsulta: parametrosConsulta<any> & {
atualizarConsulta: () => Promise<void>;
editarLista: (lista: any[]) => Promise<any[]>;
}) => void;
}[]>;
temAcoesInferiores: import("vue").ComputedRef<boolean>;
parametrosConsultaAtuais: import("vue").ComputedRef<parametrosConsulta<any>>;
parametrosConsultaAtuais: import("vue").ComputedRef<{
atualizarConsulta: () => Promise<void>;
editarLista: (novaLista: any[]) => Promise<any[]>;
filtros?: tipoFiltro[];
coluna_ordem?: string | number | symbol | undefined;
direcao_ordem?: "asc" | "desc";
offSet?: number;
limit?: number;
texto_busca?: string;
}>;
temAcoes: import("vue").ComputedRef<boolean>;
totalColunas: import("vue").ComputedRef<number>;
colunasEfetivas: import("vue").ComputedRef<any[]>;

View file

@ -101,17 +101,18 @@ export type tipoEliTabelaConsulta<T> = {
/** Texto descritivo da ação. */
rotulo: string;
/** Função executada ao clicar no botão. */
acao: (parametrosConsulta?: parametrosConsulta<T>) => void;
/**
* Callback opcional para forçar atualização da consulta.
* Observação: o componente `EliTabela` pode ignorar isso dependendo do modo de uso.
*/
atualizarConsulta?: () => Promise<void>;
/**
* Callback opcional para permitir editar a lista localmente (sem refazer consulta).
* Observação: o componente `EliTabela` pode ignorar isso dependendo do modo de uso.
*/
editarLista?: (lista: T[]) => Promise<T[]>;
acao: (parametrosConsulta: parametrosConsulta<T> & {
/**
* Callback opcional para forçar atualização da consulta.
* Observação: o componente `EliTabela` pode ignorar isso dependendo do modo de uso.
*/
atualizarConsulta: () => Promise<void>;
/**
* Callback opcional para permitir editar a lista localmente (sem refazer consulta).
* Observação: o componente `EliTabela` pode ignorar isso dependendo do modo de uso.
*/
editarLista: (lista: T[]) => Promise<T[]>;
}) => void;
}[];
filtroAvancado?: {
coluna: keyof T;