bkp
This commit is contained in:
parent
df798df8d7
commit
50a971ccaf
17 changed files with 1516 additions and 619 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import { PropType } from "vue";
|
||||
import type { EliTabelaConsulta } from "./types";
|
||||
import type { EliTabelaConsulta } from "./types-eli-tabela";
|
||||
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
||||
tabela: {
|
||||
type: PropType<EliTabelaConsulta<any>>;
|
||||
|
|
|
|||
24
dist/types/components/eli/EliTabela/EliTabelaCaixaDeBusca.vue.d.ts
vendored
Normal file
24
dist/types/components/eli/EliTabela/EliTabelaCaixaDeBusca.vue.d.ts
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
||||
modelo: {
|
||||
type: StringConstructor;
|
||||
required: false;
|
||||
default: string;
|
||||
};
|
||||
}>, {
|
||||
texto: import("vue").Ref<string, string>;
|
||||
emitirBusca: () => void;
|
||||
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
||||
buscar(valor: string): boolean;
|
||||
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
||||
modelo: {
|
||||
type: StringConstructor;
|
||||
required: false;
|
||||
default: string;
|
||||
};
|
||||
}>> & Readonly<{
|
||||
onBuscar?: ((valor: string) => any) | undefined;
|
||||
}>, {
|
||||
modelo: string;
|
||||
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
||||
declare const _default: typeof __VLS_export;
|
||||
export default _default;
|
||||
45
dist/types/components/eli/EliTabela/EliTabelaPaginacao.vue.d.ts
vendored
Normal file
45
dist/types/components/eli/EliTabela/EliTabelaPaginacao.vue.d.ts
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
||||
pagina: {
|
||||
type: NumberConstructor;
|
||||
required: true;
|
||||
};
|
||||
totalPaginas: {
|
||||
type: NumberConstructor;
|
||||
required: true;
|
||||
};
|
||||
maximoBotoes: {
|
||||
type: NumberConstructor;
|
||||
required: false;
|
||||
};
|
||||
}>, {
|
||||
botoes: import("vue").ComputedRef<{
|
||||
label: string;
|
||||
pagina?: number;
|
||||
ativo?: boolean;
|
||||
ehEllipsis?: boolean;
|
||||
}[]>;
|
||||
irParaPagina: (pagina: number | undefined) => void;
|
||||
anteriorDesabilitado: import("vue").ComputedRef<boolean>;
|
||||
proximaDesabilitada: import("vue").ComputedRef<boolean>;
|
||||
paginaAtual: import("vue").ComputedRef<number>;
|
||||
totalPaginasExibidas: import("vue").ComputedRef<number>;
|
||||
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
||||
alterar(pagina: number): boolean;
|
||||
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
||||
pagina: {
|
||||
type: NumberConstructor;
|
||||
required: true;
|
||||
};
|
||||
totalPaginas: {
|
||||
type: NumberConstructor;
|
||||
required: true;
|
||||
};
|
||||
maximoBotoes: {
|
||||
type: NumberConstructor;
|
||||
required: false;
|
||||
};
|
||||
}>> & Readonly<{
|
||||
onAlterar?: ((pagina: number) => any) | undefined;
|
||||
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
||||
declare const _default: typeof __VLS_export;
|
||||
export default _default;
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
export { default as EliTabela } from "./EliTabela.vue";
|
||||
export * from "./types";
|
||||
export * from "./types-eli-tabela";
|
||||
export * from "./celulas/EliCelulaTextoSimples";
|
||||
|
|
|
|||
85
dist/types/components/eli/EliTabela/types-eli-tabela.d.ts
vendored
Normal file
85
dist/types/components/eli/EliTabela/types-eli-tabela.d.ts
vendored
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
import type { tipoResposta } from "p-respostas";
|
||||
import type { LucideIcon } from "lucide-vue-next";
|
||||
import type { VNodeChild } from "vue";
|
||||
export type ComponenteCelula = VNodeChild;
|
||||
export type EliColuna<T> = {
|
||||
/** Texto exibido no cabeçalho da coluna. */
|
||||
rotulo: string;
|
||||
/** Função responsável por renderizar o conteúdo da célula. */
|
||||
celula: (linha: T) => ComponenteCelula;
|
||||
/** Ação opcional disparada ao clicar na célula. */
|
||||
acao?: () => void;
|
||||
/**
|
||||
* Campo de ordenação associado à coluna. Caso informado, a coluna passa a
|
||||
* exibir controles de ordenação e utiliza o valor como chave para o backend.
|
||||
*/
|
||||
coluna_ordem?: keyof T;
|
||||
};
|
||||
export type EliConsultaPaginada<T> = {
|
||||
/** Registros retornados na consulta. */
|
||||
valores: T[];
|
||||
/** Total de registros disponíveis no backend. */
|
||||
quantidade: number;
|
||||
};
|
||||
export type EliTabelaAcao<T> = {
|
||||
/** Ícone (Lucide) exibido para representar a ação. */
|
||||
icone: LucideIcon;
|
||||
/** Cor aplicada ao ícone e rótulo. */
|
||||
cor: string;
|
||||
/** Texto descritivo da ação. */
|
||||
rotulo: string;
|
||||
/** Função executada quando o usuário ativa a ação. */
|
||||
acao: (linha: T) => void;
|
||||
/**
|
||||
* Define se a ação deve ser exibida para a linha. Pode ser um booleano fixo
|
||||
* ou uma função (sincrona/assíncrona) que recebe a linha para decisão dinâmica.
|
||||
*/
|
||||
exibir?: boolean | ((linha: T) => Promise<boolean> | boolean);
|
||||
};
|
||||
/**
|
||||
* Estrutura de dados para uma tabela alimentada por uma consulta.
|
||||
*
|
||||
* - `colunas`: definição de colunas e como renderizar cada célula
|
||||
* - `consulta`: função que recupera os dados, com suporte a ordenação/paginação
|
||||
* - `mostrarCaixaDeBusca`: habilita um campo de busca textual no cabeçalho
|
||||
*/
|
||||
export type EliTabelaConsulta<T> = {
|
||||
/** Indica se a caixa de busca deve ser exibida acima da tabela. */
|
||||
mostrarCaixaDeBusca?: boolean;
|
||||
/** Lista de colunas da tabela. */
|
||||
colunas: EliColuna<T>[];
|
||||
/** Quantidade de registros solicitados por consulta (padrão `10`). */
|
||||
registros_por_consulta?: number;
|
||||
/**
|
||||
* Função responsável por buscar os dados. Recebe parâmetros opcionais de
|
||||
* ordenação (`coluna_ordem`/`direcao_ordem`) e paginação (`offSet`/`limit`).
|
||||
*/
|
||||
consulta: (parametrosConsulta?: {
|
||||
coluna_ordem?: keyof T;
|
||||
direcao_ordem?: "asc" | "desc";
|
||||
offSet?: number;
|
||||
limit?: number;
|
||||
/** Texto digitado na caixa de busca, quando habilitada. */
|
||||
texto_busca?: string;
|
||||
}) => Promise<tipoResposta<EliConsultaPaginada<T>>>;
|
||||
/** Quantidade máxima de botões exibidos na paginação (padrão `7`). */
|
||||
maximo_botoes_paginacao?: number;
|
||||
/** Mensagem exibida quando a consulta retorna ok porém sem dados. */
|
||||
mensagemVazio?: string;
|
||||
/** Ações exibidas à direita de cada linha. */
|
||||
acoesLinha?: EliTabelaAcao<T>[];
|
||||
/**
|
||||
* Configurações dos botões que serão inseridos a direita da caixa de busca.
|
||||
* Seu uso mais comum será para criar novos registros, mas poderá ter outras utilidades.
|
||||
*/
|
||||
acoesTabela?: {
|
||||
/** Ícone (Lucide) exibido no botão */
|
||||
icone?: LucideIcon;
|
||||
/** Cor aplicada ao botão. */
|
||||
cor?: string;
|
||||
/** Texto descritivo da ação. */
|
||||
rotulo: string;
|
||||
/** Função executada ao clicar no botão. */
|
||||
acao: () => void;
|
||||
}[];
|
||||
};
|
||||
24
dist/types/components/eli/EliTabela/types.d.ts
vendored
24
dist/types/components/eli/EliTabela/types.d.ts
vendored
|
|
@ -1,24 +0,0 @@
|
|||
import type { tipoResposta } from "p-respostas";
|
||||
import type { VNodeChild } from "vue";
|
||||
export type ComponenteCelula = VNodeChild;
|
||||
export type EliColuna<T> = {
|
||||
rotulo: string;
|
||||
celula: (linha: T) => ComponenteCelula;
|
||||
acao?: () => void;
|
||||
};
|
||||
export type EliConsultaPaginada<T> = {
|
||||
valores: T[];
|
||||
quantidade: number;
|
||||
};
|
||||
/**
|
||||
* Estrutura de dados para uma tabela alimentada por uma consulta.
|
||||
*
|
||||
* - `colunas`: definição de colunas e como renderizar cada célula
|
||||
* - `resposta`: função assíncrona que retorna uma resposta padronizada
|
||||
*/
|
||||
export type EliTabelaConsulta<T> = {
|
||||
colunas: EliColuna<T>[];
|
||||
resposta: () => Promise<tipoResposta<EliConsultaPaginada<T>>>;
|
||||
/** Mensagem exibida quando a consulta retorna ok porém sem dados. */
|
||||
mensagemVazio?: string;
|
||||
};
|
||||
1
dist/types/constantes.d.ts
vendored
Normal file
1
dist/types/constantes.d.ts
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export declare const gif_quero_quero = "https://paiol.idz.one/estaticos/quero-quero.gif";
|
||||
Loading…
Add table
Add a link
Reference in a new issue