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

@ -25,9 +25,17 @@ export const z_contagem_em_pizza = z.object({
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 */
@ -131,4 +139,35 @@ 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 },
},
},
}