exibirComoPorcentagem
This commit is contained in:
parent
f93046e70e
commit
0bdfaf9729
11 changed files with 37 additions and 366 deletions
|
|
@ -8,7 +8,10 @@ export type z_tipagem_registros = {
|
|||
z_contagem_em_pizza: { contagem: number; [k: string]: any }[]
|
||||
z_tabela: { [k: string]: any }[]
|
||||
z_soma_em_barra_vertical: { soma: number; [k: string]: any }[]
|
||||
z_porcentagem_em_barra_vertical: { porcentagem: number; [k: string]: any }[]
|
||||
z_porcentagem_soma_em_barra_vertical: {
|
||||
porcentagem: number
|
||||
[k: string]: any
|
||||
}[]
|
||||
}
|
||||
|
||||
export type tipoRetornoSerieconsulta<T extends keyof typeof visoes_pilao> = {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ import type { visoes_pilao } from "../listaDeVisoes"
|
|||
import type { tipo_estrutura_visao_grafico } from "../tipagem"
|
||||
import { z_contagem_em_barra_vertical } from "./z_contagem_em_barra_vertical"
|
||||
import { z_contagem_em_pizza } from "./z_contagem_em_pizza"
|
||||
import { z_porcentagem_em_barra_vertical } from "./z_porcentagem_em_barra_vertical"
|
||||
import { z_soma_em_barra_vertical } from "./z_soma_em_barra_vertical"
|
||||
import { z_tabela } from "./z_tabela"
|
||||
|
||||
|
|
@ -14,5 +13,4 @@ export const extruturas_de_campos: {
|
|||
z_contagem_em_pizza,
|
||||
z_soma_em_barra_vertical,
|
||||
z_tabela,
|
||||
z_porcentagem_em_barra_vertical,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,68 +0,0 @@
|
|||
// usar describe para definir o tipo de campo para render do componente
|
||||
|
||||
import type { tipo_estrutura_visao_grafico } from "../tipagem"
|
||||
|
||||
/** Cria a estrutura de campos para insersão de dados */
|
||||
export const z_porcentagem_em_barra_vertical: tipo_estrutura_visao_grafico<"z_porcentagem_em_barra_vertical"> =
|
||||
{
|
||||
visao: "z_porcentagem_em_barra_vertical",
|
||||
rotulo: "Soma em Barra Vertical",
|
||||
tabela: ({ tabela }) => tabela,
|
||||
descricao: ({
|
||||
descricao_pelo_usuario,
|
||||
colanuEixoX,
|
||||
filtros,
|
||||
colunaAgrupamento,
|
||||
colunaSoma,
|
||||
}) => {
|
||||
if (String(descricao_pelo_usuario || "").trim())
|
||||
return String(descricao_pelo_usuario || "").trim()
|
||||
|
||||
return `Porcentagem de ${colunaSoma} 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 de Somatória",
|
||||
tipo_campo: "coluna",
|
||||
order: 2,
|
||||
},
|
||||
|
||||
unidadeSoma: {
|
||||
rotulo: "Unidade de Somatória",
|
||||
tipo_campo: "texto",
|
||||
order: 3,
|
||||
},
|
||||
|
||||
colanuEixoX: {
|
||||
rotulo: "Coluna do Eixo X",
|
||||
tipo_campo: "coluna",
|
||||
order: 4,
|
||||
},
|
||||
colunaAgrupamento: {
|
||||
rotulo: "Colunas de Agrupamento",
|
||||
tipo_campo: "lista_colunas",
|
||||
order: 5,
|
||||
},
|
||||
descricao_pelo_usuario: {
|
||||
rotulo: "Descrição (opcional)",
|
||||
tipo_campo: "texto",
|
||||
order: 6,
|
||||
},
|
||||
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 5 },
|
||||
},
|
||||
}
|
||||
|
|
@ -64,5 +64,11 @@ export const z_soma_em_barra_vertical: tipo_estrutura_visao_grafico<"z_soma_em_b
|
|||
order: 6,
|
||||
},
|
||||
filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 5 },
|
||||
|
||||
exibirComoPorcentagem: {
|
||||
rotulo: "Exibir como porcentagem",
|
||||
order: 7,
|
||||
tipo_campo: "booleana",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,15 +21,7 @@ export const z_soma_em_barra_vertical = z
|
|||
colunaSoma: z.string(),
|
||||
unidadeSoma: z.string().optional(),
|
||||
colunaAgrupamento: z.string().array().optional(),
|
||||
})
|
||||
.extend(z_padroes.shape)
|
||||
|
||||
export const z_porcentagem_em_barra_vertical = z
|
||||
.object({
|
||||
colanuEixoX: z.string(),
|
||||
colunaSoma: z.string(),
|
||||
unidadeSoma: z.string().optional(),
|
||||
colunaAgrupamento: z.string().array().optional(),
|
||||
exibirComoPorcentagem: z.boolean().optional(),
|
||||
})
|
||||
.extend(z_padroes.shape)
|
||||
|
||||
|
|
@ -52,5 +44,4 @@ export const visoes_pilao = {
|
|||
z_contagem_em_pizza,
|
||||
z_tabela,
|
||||
z_soma_em_barra_vertical,
|
||||
z_porcentagem_em_barra_vertical,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ export const z_tipos_campos_reg_grafico = z.enum([
|
|||
"lista_colunas",
|
||||
"lista_filtros",
|
||||
"ordem",
|
||||
"booleana",
|
||||
])
|
||||
|
||||
export type tipo_estrutura_visao_grafico<T extends keyof typeof visoes_pilao> =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue