This commit is contained in:
Luiz Silva 2024-10-02 10:12:20 -03:00
parent 336926a7ef
commit db1cb22ee9
8 changed files with 622 additions and 2 deletions

View file

@ -39,6 +39,48 @@ export declare const z_contagem_em_barra_vertical: z.ZodObject<{
}[] | undefined;
descricao_pelo_usuario?: string | undefined;
}>;
export declare const z_soma_em_barra_vertical: z.ZodObject<{
tabela: z.ZodString;
colanuEixoX: z.ZodString;
colunaSoma: z.ZodString;
colunaAgrupamento: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
filtros: z.ZodOptional<z.ZodArray<z.ZodObject<{
coluna: z.ZodString;
valor: z.ZodAny;
operador: z.ZodEnum<["=", "!=", ">", "<", ">=", "<=", "∩"]>;
}, "strip", z.ZodTypeAny, {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}, {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}>, "many">>;
descricao_pelo_usuario: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
tabela: string;
colanuEixoX: string;
colunaSoma: string;
colunaAgrupamento?: string[] | undefined;
filtros?: {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}[] | undefined;
descricao_pelo_usuario?: string | undefined;
}, {
tabela: string;
colanuEixoX: string;
colunaSoma: string;
colunaAgrupamento?: string[] | undefined;
filtros?: {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}[] | undefined;
descricao_pelo_usuario?: string | undefined;
}>;
export declare const z_contagem_em_pizza: z.ZodObject<{
tabela: z.ZodString;
classes: z.ZodString;
@ -235,6 +277,48 @@ export declare const visoes: {
coluna_ordem?: string | undefined;
direcao_ordem?: "1" | "asc" | "desc" | "-1" | undefined;
}>;
z_soma_em_barra_vertical: z.ZodObject<{
tabela: z.ZodString;
colanuEixoX: z.ZodString;
colunaSoma: z.ZodString;
colunaAgrupamento: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
filtros: z.ZodOptional<z.ZodArray<z.ZodObject<{
coluna: z.ZodString;
valor: z.ZodAny;
operador: z.ZodEnum<["=", "!=", ">", "<", ">=", "<=", "∩"]>;
}, "strip", z.ZodTypeAny, {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}, {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}>, "many">>;
descricao_pelo_usuario: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
tabela: string;
colanuEixoX: string;
colunaSoma: string;
colunaAgrupamento?: string[] | undefined;
filtros?: {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}[] | undefined;
descricao_pelo_usuario?: string | undefined;
}, {
tabela: string;
colanuEixoX: string;
colunaSoma: string;
colunaAgrupamento?: string[] | undefined;
filtros?: {
coluna: string;
operador: "=" | "!=" | ">" | "<" | ">=" | "<=" | "∩";
valor?: any;
}[] | undefined;
descricao_pelo_usuario?: string | undefined;
}>;
};
/** Cria a estrutura de campos para insersão de dados */
export declare const extruturas_de_campos: {

View file

@ -16,6 +16,14 @@ export const z_contagem_em_barra_vertical = z.object({
filtros: z_filtro.array().optional(),
descricao_pelo_usuario: z.string().optional(),
});
export const z_soma_em_barra_vertical = z.object({
tabela: z.string(),
colanuEixoX: z.string(),
colunaSoma: z.string(),
colunaAgrupamento: z.string().array().optional(),
filtros: z_filtro.array().optional(),
descricao_pelo_usuario: z.string().optional(),
});
export const z_contagem_em_pizza = z.object({
tabela: z.string(),
classes: z.string(),
@ -34,6 +42,7 @@ export const visoes = {
z_contagem_em_barra_vertical,
z_contagem_em_pizza,
z_tabela,
z_soma_em_barra_vertical,
};
/** Cria a estrutura de campos para insersão de dados */
export const extruturas_de_campos = {
@ -72,6 +81,46 @@ export const extruturas_de_campos = {
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 5 },
},
},
z_soma_em_barra_vertical: {
visao: "z_soma_em_barra_vertical",
rotulo: "Soma 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 },
colunaSoma: {
rotulo: "Coluna do Eixo X",
tipo_campo: "coluna",
order: 2,
},
colanuEixoX: {
rotulo: "Coluna do Eixo X",
tipo_campo: "coluna",
order: 3,
},
colunaAgrupamento: {
rotulo: "Colunas de Agrupamento",
tipo_campo: "lista_colunas",
order: 4,
},
descricao_pelo_usuario: {
rotulo: "Descrição (opcional)",
tipo_campo: "texto",
order: 5,
},
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 5 },
},
},
z_contagem_em_pizza: {
visao: "z_contagem_em_pizza",
rotulo: "Contagem em Pizza",