136 lines
5.4 KiB
JavaScript
136 lines
5.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.extruturas_de_campos = exports.visoes = exports.z_tabela = exports.z_contagem_em_pizza = exports.z_contagem_em_barra_vertical = void 0;
|
|
const zod_1 = require("zod");
|
|
const _serie_consultar_1 = require("../_serie_consultar");
|
|
// usar describe para definir o tipo de campo para render do componente
|
|
const z_tipos_campos = zod_1.z.enum([
|
|
"tabela",
|
|
"coluna",
|
|
"texto",
|
|
"lista_colunas",
|
|
"lista_filtros",
|
|
"ordem",
|
|
]);
|
|
exports.z_contagem_em_barra_vertical = zod_1.z.object({
|
|
tabela: zod_1.z.string(),
|
|
colanuEixoX: zod_1.z.string(),
|
|
colunaAgrupamento: zod_1.z.string().array().optional(),
|
|
filtros: _serie_consultar_1.z_filtro.array().optional(),
|
|
descricao_pelo_usuario: zod_1.z.string().optional(),
|
|
});
|
|
exports.z_contagem_em_pizza = zod_1.z.object({
|
|
tabela: zod_1.z.string(),
|
|
classes: zod_1.z.string(),
|
|
filtros: _serie_consultar_1.z_filtro.array().optional(),
|
|
descricao_pelo_usuario: zod_1.z.string().optional(),
|
|
});
|
|
exports.z_tabela = zod_1.z.object({
|
|
tabela: zod_1.z.string(),
|
|
colunas: zod_1.z.string().array(),
|
|
coluna_ordem: zod_1.z.string().optional(),
|
|
direcao_ordem: zod_1.z.enum(["asc", "desc", "1", "-1"]).optional(),
|
|
filtros: _serie_consultar_1.z_filtro.array().optional(),
|
|
descricao_pelo_usuario: zod_1.z.string().optional(),
|
|
});
|
|
exports.visoes = {
|
|
z_contagem_em_barra_vertical: exports.z_contagem_em_barra_vertical,
|
|
z_contagem_em_pizza: exports.z_contagem_em_pizza,
|
|
z_tabela: exports.z_tabela,
|
|
};
|
|
/** Cria a estrutura de campos para insersão de dados */
|
|
exports.extruturas_de_campos = {
|
|
z_contagem_em_barra_vertical: {
|
|
visao: "z_contagem_em_barra_vertical",
|
|
rotulo: "Contagem em Barra Vertical",
|
|
tabela: ({ tabela }) => tabela,
|
|
descricao: ({ tabela, descricao_pelo_usuario, colanuEixoX, filtros, colunaAgrupamento, }) => {
|
|
if (String(descricao_pelo_usuario || "").trim())
|
|
return String(descricao_pelo_usuario || "").trim();
|
|
return `Contagem de ${tabela} por ${colanuEixoX}${!filtros?.length
|
|
? ""
|
|
: `, quando ${filtros
|
|
.map(({ coluna, operador, valor }) => `${coluna} ${operador} ${valor}`)
|
|
.join(", ")}`}${!colunaAgrupamento?.length
|
|
? ""
|
|
: `, agrupado por ${colunaAgrupamento.join(", ")}`}.`;
|
|
},
|
|
campos: {
|
|
tabela: { rotulo: "Tabela", tipo_campo: "tabela", order: 1 },
|
|
colanuEixoX: {
|
|
rotulo: "Coluna do Eixo X",
|
|
tipo_campo: "coluna",
|
|
order: 2,
|
|
},
|
|
colunaAgrupamento: {
|
|
rotulo: "Colunas de Agrupamento",
|
|
tipo_campo: "lista_colunas",
|
|
order: 3,
|
|
},
|
|
descricao_pelo_usuario: {
|
|
rotulo: "Descrição (opcional)",
|
|
tipo_campo: "texto",
|
|
order: 4,
|
|
},
|
|
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 5 },
|
|
},
|
|
},
|
|
z_contagem_em_pizza: {
|
|
visao: "z_contagem_em_pizza",
|
|
rotulo: "Contagem em Pizza",
|
|
tabela: ({ tabela }) => tabela,
|
|
descricao: ({ tabela, descricao_pelo_usuario, classes, filtros }) => {
|
|
if (String(descricao_pelo_usuario || "").trim())
|
|
return String(descricao_pelo_usuario || "").trim();
|
|
return `Contagem de ${tabela} por ${classes}${!filtros?.length
|
|
? ""
|
|
: `, quando ${filtros
|
|
.map(({ coluna, operador, valor }) => `${coluna} ${operador} ${valor}`)
|
|
.join(", ")}`}.`;
|
|
},
|
|
campos: {
|
|
tabela: { rotulo: "Tabela", tipo_campo: "tabela", order: 1 },
|
|
classes: { rotulo: "Classes", tipo_campo: "coluna", order: 2 },
|
|
descricao_pelo_usuario: {
|
|
rotulo: "Descrição (opcional)",
|
|
tipo_campo: "texto",
|
|
order: 3,
|
|
},
|
|
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,
|
|
},
|
|
coluna_ordem: {
|
|
rotulo: "Coluna de Ordem",
|
|
tipo_campo: "coluna",
|
|
order: 4,
|
|
},
|
|
direcao_ordem: {
|
|
rotulo: "Direção de Ordem",
|
|
tipo_campo: "ordem",
|
|
order: 5,
|
|
},
|
|
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 6 },
|
|
},
|
|
},
|
|
};
|