adicionado tabela

This commit is contained in:
Luiz H. R. Silva 2024-07-06 22:27:57 -03:00
parent 37b3002a9b
commit d54a31dbc9
8 changed files with 483 additions and 2 deletions

View file

@ -21,9 +21,16 @@ export const z_contagem_em_pizza = z.object({
filtros: z_filtro.array().optional(),
descricao_pelo_usuario: z.string().optional(),
});
export const z_tabela = z.object({
tabela: z.string(),
colunas: z.string().array().optional(),
filtros: z_filtro.array().optional(),
descricao_pelo_usuario: z.string().optional(),
});
export const visoes = {
z_contagem_em_barra_vertical,
z_contagem_em_pizza,
z_tabela,
};
/** Cria a estrutura de campos para insersão de dados */
export const extruturas_de_campos = {
@ -86,4 +93,28 @@ export const extruturas_de_campos = {
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 4 },
},
},
z_tabela: {
visao: "z_tabela",
rotulo: "Tabela",
tabela: ({ tabela }) => tabela,
descricao: ({ tabela, descricao_pelo_usuario, filtros }) => {
if (String(descricao_pelo_usuario || "").trim())
return String(descricao_pelo_usuario || "").trim();
return `Consulta na ${tabela} ${!filtros?.length
? ""
: `, quando ${filtros
.map(({ coluna, operador, valor }) => `${coluna} ${operador} ${valor}`)
.join(", ")}`}.`;
},
campos: {
tabela: { rotulo: "Tabela", tipo_campo: "tabela", order: 1 },
colunas: { rotulo: "Colunas", tipo_campo: "lista_colunas", order: 2 },
descricao_pelo_usuario: {
rotulo: "Descrição (opcional)",
tipo_campo: "texto",
order: 3,
},
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 4 },
},
},
};