This commit is contained in:
Luiz Silva 2026-01-27 13:03:42 -03:00
parent 052337b9da
commit c4a0d31686
3 changed files with 569 additions and 194 deletions

View file

@ -50,6 +50,84 @@ export default defineComponent({
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
{ nome: "Ana", email: "ana@eli.com" },
{ nome: "Bruno", email: "bruno@eli.com" },
{ nome: "Carla", email: "carla@eli.com" },
];
const ordenarLinhas = (
@ -77,7 +155,22 @@ export default defineComponent({
});
};
const aplicarPaginacao = (
linhas: Linha[],
parametros?: { offSet?: number; limit?: number }
) => {
const offset = Math.max(0, parametros?.offSet ?? 0);
const limit = parametros?.limit ?? linhas.length;
if (limit === undefined || limit <= 0) {
return linhas.slice(offset);
}
return linhas.slice(offset, offset + limit);
};
const tabelaOk: EliTabelaConsulta<Linha> = {
registros_por_consulta: 2,
colunas: [
{
rotulo: "Nome",
@ -96,7 +189,8 @@ export default defineComponent({
],
acoes: acoesTabela,
consulta: async (parametrosConsulta) => {
const valores = ordenarLinhas(linhasPadrao, parametrosConsulta);
const ordenadas = ordenarLinhas(linhasPadrao, parametrosConsulta);
const valores = aplicarPaginacao(ordenadas, parametrosConsulta);
return {
cod: codigosResposta.sucesso,
@ -104,7 +198,7 @@ export default defineComponent({
eErro: false,
mensagem: undefined,
valor: {
quantidade: valores.length,
quantidade: linhasPadrao.length,
valores,
},
};
@ -112,8 +206,9 @@ export default defineComponent({
};
const tabelaVazia: EliTabelaConsulta<Linha> = {
registros_por_consulta: tabelaOk.registros_por_consulta,
colunas: tabelaOk.colunas,
consulta: async () => {
consulta: async (_parametrosConsulta) => {
return {
cod: codigosResposta.sucesso,
eCerto: true,
@ -130,9 +225,10 @@ export default defineComponent({
};
const tabelaErro: EliTabelaConsulta<Linha> = {
registros_por_consulta: tabelaOk.registros_por_consulta,
colunas: tabelaOk.colunas,
acoes: acoesTabela,
consulta: async () => {
consulta: async (_parametrosConsulta) => {
return {
cod: codigosResposta.erroConhecido,
eCerto: false,