@careonbrasil/dashboard 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +355 -0
- package/esm2020/careonbrasil-dashboard.mjs +5 -0
- package/esm2020/lib/careon-dashboard.module.mjs +43 -0
- package/esm2020/lib/components/dashboard-icon/dashboard-icon.component.mjs +32 -0
- package/esm2020/lib/components/dashboard-skeleton/dashboard-skeleton.component.mjs +17 -0
- package/esm2020/lib/components/performance-wave/performance-wave.component.mjs +30 -0
- package/esm2020/lib/dashboard.component.mjs +522 -0
- package/esm2020/lib/models/dashboard.models.mjs +42 -0
- package/esm2020/public-api.mjs +10 -0
- package/fesm2015/careonbrasil-dashboard.mjs +703 -0
- package/fesm2015/careonbrasil-dashboard.mjs.map +1 -0
- package/fesm2020/careonbrasil-dashboard.mjs +677 -0
- package/fesm2020/careonbrasil-dashboard.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/careon-dashboard.module.d.ts +12 -0
- package/lib/components/dashboard-icon/dashboard-icon.component.d.ts +18 -0
- package/lib/components/dashboard-skeleton/dashboard-skeleton.component.d.ts +10 -0
- package/lib/components/performance-wave/performance-wave.component.d.ts +19 -0
- package/lib/dashboard.component.d.ts +173 -0
- package/lib/models/dashboard.models.d.ts +200 -0
- package/package.json +36 -0
- package/public-api.d.ts +6 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { TimelinePoint, ComparisonItem, DonutChartItem, StackedBarItem, FunnelBarItem } from '@careonbrasil/ng-charts';
|
|
2
|
+
/**
|
|
3
|
+
* Periodo de agregacao temporal para consulta e exibicao das metricas do dashboard.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum DashboardPeriod {
|
|
6
|
+
/** Visualizacao agregada das metricas do dia atual. */
|
|
7
|
+
Today = "Today",
|
|
8
|
+
/** Visualizacao agregada dos ultimos 7 dias. */
|
|
9
|
+
Week = "Week",
|
|
10
|
+
/** Visualizacao agregada do mes corrente (ultimos 30 dias). */
|
|
11
|
+
Month = "Month"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Resumo consolidado dos indicadores-chave de performance (KPIs) exibidos nos cards superiores.
|
|
15
|
+
* Inclui os totais do periodo corrente, do periodo imediatamente anterior e a variacao correspondente.
|
|
16
|
+
*/
|
|
17
|
+
export interface DashboardKpiSummary {
|
|
18
|
+
/** Quantidade total de vagas publicadas no periodo atual. */
|
|
19
|
+
registeredVacancies?: number;
|
|
20
|
+
/** Quantidade total de vagas publicadas no periodo anterior equivalente. */
|
|
21
|
+
registeredVacanciesPrevious?: number;
|
|
22
|
+
/** Diferenca absoluta de vagas publicadas entre o periodo atual e o anterior. */
|
|
23
|
+
registeredVacanciesDifference?: number;
|
|
24
|
+
/** Total de candidaturas recebidas nas vagas da instituicao no periodo atual. */
|
|
25
|
+
candidateApplications?: number;
|
|
26
|
+
/** Total de candidaturas recebidas no periodo anterior equivalente. */
|
|
27
|
+
candidateApplicationsPrevious?: number;
|
|
28
|
+
/** Diferenca absoluta de candidaturas entre os dois periodos. */
|
|
29
|
+
candidateApplicationsDifference?: number;
|
|
30
|
+
/** Quantidade de curriculos pendentes de avaliacao ou triagem pelo recrutador. */
|
|
31
|
+
pendingReviews?: number;
|
|
32
|
+
/** Quantidade de curriculos pendentes no periodo anterior. */
|
|
33
|
+
pendingReviewsPrevious?: number;
|
|
34
|
+
/** Variacao de curriculos pendentes entre os periodos. */
|
|
35
|
+
pendingReviewsDifference?: number;
|
|
36
|
+
/** Media aritmetica de candidatos inscritos por vaga publicada no periodo. */
|
|
37
|
+
averageCandidatesPerVacancy?: number;
|
|
38
|
+
/** Media de candidatos por vaga no periodo anterior. */
|
|
39
|
+
averageCandidatesPerVacancyPrevious?: number;
|
|
40
|
+
/** Diferenca na media de candidatos por vaga. */
|
|
41
|
+
averageCandidatesDifference?: number;
|
|
42
|
+
/** Quantidade de vagas ativas no momento (status aberto). */
|
|
43
|
+
openVacancies?: number;
|
|
44
|
+
/** Quantidade de vagas encerradas, canceladas ou preenchidas. */
|
|
45
|
+
closedVacancies?: number;
|
|
46
|
+
/** Total acumulado de vagas registradas pela instituicao. */
|
|
47
|
+
totalVacancies?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Representa uma vaga ou plantao que demanda intervencao imediata do recrutador.
|
|
51
|
+
* Exibido na secao "Precisa da sua atencao".
|
|
52
|
+
*/
|
|
53
|
+
export interface DashboardAttentionItem {
|
|
54
|
+
/** Identificador unico da vaga no sistema. */
|
|
55
|
+
dutyId: number;
|
|
56
|
+
/** Titulo principal da vaga (ex: especialidade médica, cargo). */
|
|
57
|
+
title: string;
|
|
58
|
+
/** Subtitulo contextual com informacoes de horario, setor ou unidade. */
|
|
59
|
+
subtitle: string;
|
|
60
|
+
/** Quantidade de profissionais inscritos nesta vaga. */
|
|
61
|
+
candidatesCount?: number;
|
|
62
|
+
/** Quantidade de inscricoes pendentes de analise para esta vaga. */
|
|
63
|
+
pendingReviewsCount?: number;
|
|
64
|
+
/** Quantidade de dias corridos em que a vaga permanece aberta sem candidaturas. */
|
|
65
|
+
daysOpen?: number;
|
|
66
|
+
/** Quantidade de horas decorridas desde a abertura da vaga. */
|
|
67
|
+
hoursOpen?: number;
|
|
68
|
+
/** Indica se a vaga e de regime fixo continuo ou plantao avulso. */
|
|
69
|
+
isFixedJob?: boolean;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Nivel qualitativo de atratividade e conversao institucional.
|
|
73
|
+
* Utilizado para parametrizar a renderizacao da onda vetorial de performance.
|
|
74
|
+
*/
|
|
75
|
+
export declare enum PerformanceLevel {
|
|
76
|
+
/** Nivel Azul: Desempenho satisfatorio, alta conversao e boa procura de candidatos. */
|
|
77
|
+
Blue = "Blue",
|
|
78
|
+
/** Nivel Laranja: Desempenho moderado, vagas visualizadas com conversao abaixo do potencial. */
|
|
79
|
+
Orange = "Orange",
|
|
80
|
+
/** Nivel Vermelho: Desempenho critico, baixa procura ou periodo prolongado sem publicacoes. */
|
|
81
|
+
Red = "Red"
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Analise qualitativa e orientacao consultiva sobre o desempenho de recrutamento da instituicao.
|
|
85
|
+
*/
|
|
86
|
+
export interface DashboardPerformanceAnalysis {
|
|
87
|
+
/** Taxa media percentual de conversao de visualizacoes em candidaturas (0 a 100). */
|
|
88
|
+
averageConversionRate?: number;
|
|
89
|
+
/** Nivel de performance categorizado (Blue, Orange ou Red). */
|
|
90
|
+
level?: PerformanceLevel | number;
|
|
91
|
+
/** Titulo em destaque sintetizando o diagnostico da instituicao. */
|
|
92
|
+
highlightTitle?: string;
|
|
93
|
+
/** Descricao explicativa com recomendacoes praticas para otimizacao das vagas. */
|
|
94
|
+
description?: string;
|
|
95
|
+
/** Total de vagas avaliadas no calculo do periodo. */
|
|
96
|
+
totalVacanciesInPeriod?: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Classificacao comparativa da remuneracao oferecida em relacao a media regional de mercado.
|
|
100
|
+
*/
|
|
101
|
+
export declare enum DutySalaryStatus {
|
|
102
|
+
/** Remuneracao oferecida abaixo da media praticada na regiao. */
|
|
103
|
+
BelowMarket = "BelowMarket",
|
|
104
|
+
/** Remuneracao alinhada com a faixa media de mercado da regiao. */
|
|
105
|
+
AtMarket = "AtMarket",
|
|
106
|
+
/** Remuneracao acima da media regional, conferindo vantagem competitiva. */
|
|
107
|
+
AboveMarket = "AboveMarket",
|
|
108
|
+
/** Remuneracao a combinar ou nao informada no cadastro da vaga. */
|
|
109
|
+
NotInformed = "NotInformed",
|
|
110
|
+
/** Volume amostral insuficiente na regiao para calculo de referencia confiavel. */
|
|
111
|
+
InsufficientData = "InsufficientData"
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Diagnostico salarial comparativo de uma vaga especifica frente aos dados de mercado da regiao.
|
|
115
|
+
*/
|
|
116
|
+
export interface DashboardDutySalaryComparison {
|
|
117
|
+
/** Valor monetario oferecido pela instituicao para o plantao ou cargo. */
|
|
118
|
+
yourSalary?: number | null;
|
|
119
|
+
/** Valor medio regional apurado para a mesma especialidade e carga horaria. */
|
|
120
|
+
regionalAverageSalary?: number | null;
|
|
121
|
+
/** Diferenca percentual em relacao a media regional (positivo indica acima, negativo abaixo). */
|
|
122
|
+
differencePercentage?: number | null;
|
|
123
|
+
/** Classificacao da faixa salarial de acordo com o enum DutySalaryStatus. */
|
|
124
|
+
status: DutySalaryStatus;
|
|
125
|
+
/** Titulo sintetico do comparativo salarial. */
|
|
126
|
+
highlightTitle: string;
|
|
127
|
+
/** Orientacao detalhada sobre o impacto do valor oferecido na velocidade de preenchimento. */
|
|
128
|
+
description: string;
|
|
129
|
+
/** Texto formatado do badge visual (ex: '+15%', 'Na media', 'Abaixo'). */
|
|
130
|
+
badgeText?: string | null;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Conjunto completo de metricas analiticas de uma vaga selecionada para aprofundamento.
|
|
134
|
+
* Utilizado na secao "Analise por Vaga".
|
|
135
|
+
*/
|
|
136
|
+
export interface DashboardDutyAnalysis {
|
|
137
|
+
/** Identificador unico da vaga. */
|
|
138
|
+
dutyId: number;
|
|
139
|
+
/** Titulo da vaga ou especialidade. */
|
|
140
|
+
title: string;
|
|
141
|
+
/** Detalhes de localidade, data ou modalidade da vaga. */
|
|
142
|
+
subtitle: string;
|
|
143
|
+
/** Total de candidaturas confirmadas para a vaga. */
|
|
144
|
+
candidatesCount: number;
|
|
145
|
+
/** Quantidade total de visualizacoes da pagina de detalhes da vaga. */
|
|
146
|
+
viewsCount: number;
|
|
147
|
+
/** Taxa de conversao calculada: (candidaturas / visualizacoes) * 100. */
|
|
148
|
+
conversionRate: number;
|
|
149
|
+
/** Serie historica de pontos temporais de candidaturas para o grafico de linha do tempo. */
|
|
150
|
+
timelinePoints: TimelinePoint[];
|
|
151
|
+
/** Fatias do grafico Donut representando a proporcao de conversao de candidatos. */
|
|
152
|
+
conversionDonut?: DonutChartItem[];
|
|
153
|
+
/** Etapas do funil de atracao da vaga (Visualizacoes -> Candidaturas). */
|
|
154
|
+
funnelItems?: FunnelBarItem[];
|
|
155
|
+
/** Analise comparativa de remuneracao regional da vaga. */
|
|
156
|
+
salaryComparison?: DashboardDutySalaryComparison;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Contrato de dados principal que alimenta o componente `<careon-dashboard>`.
|
|
160
|
+
* Agrupa todas as secoes de metricas, listas e graficos consolidados.
|
|
161
|
+
*/
|
|
162
|
+
export interface DashboardOverviewData {
|
|
163
|
+
/** Identificador unico da instituicao no sistema. */
|
|
164
|
+
institutionId?: number;
|
|
165
|
+
/** Razao social ou nome de exibicao da instituicao. */
|
|
166
|
+
institutionName?: string;
|
|
167
|
+
/** Rotulo amigavel do periodo ativo (ex: 'Hoje', 'Semana', 'Mes'). */
|
|
168
|
+
period?: string;
|
|
169
|
+
/** Data inicial do intervalo temporal coberto pelas metricas. */
|
|
170
|
+
startDate?: string | Date;
|
|
171
|
+
/** Data final do intervalo temporal coberto pelas metricas. */
|
|
172
|
+
endDate?: string | Date;
|
|
173
|
+
/** Resumo numerico dos KPIs superiores. */
|
|
174
|
+
kpis?: DashboardKpiSummary;
|
|
175
|
+
/** Pontos para o grafico de linha do tempo geral de candidaturas. */
|
|
176
|
+
timeline?: TimelinePoint[];
|
|
177
|
+
/** Dados para o grafico de barras comparativas entre vagas. */
|
|
178
|
+
comparison?: ComparisonItem[];
|
|
179
|
+
/** Distribuicao percentual de candidaturas por categoria ou especialidade. */
|
|
180
|
+
distribution?: DonutChartItem[];
|
|
181
|
+
/** Distribuicao de status das vagas (abertas vs. encerradas) para barra empilhada. */
|
|
182
|
+
dutiesStatus?: StackedBarItem[];
|
|
183
|
+
/** Etapas consolidadas do funil geral de recrutamento da instituicao. */
|
|
184
|
+
recruitmentFunnel?: FunnelBarItem[];
|
|
185
|
+
/** Relacao de vagas prioritarias que requerem atencao imediata do recrutador. */
|
|
186
|
+
attentionItems?: DashboardAttentionItem[];
|
|
187
|
+
/** Diagnostico de performance geral da instituicao com curva de ondas. */
|
|
188
|
+
performanceAnalysis?: DashboardPerformanceAnalysis;
|
|
189
|
+
/** Relacao de vagas detalhadas com metricas individuais para o seletor. */
|
|
190
|
+
vacanciesAnalysis?: DashboardDutyAnalysis[];
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Payload emitido quando um elemento interativo interno de um grafico e selecionado.
|
|
194
|
+
*/
|
|
195
|
+
export interface DashboardItemSelectedEvent<T = any> {
|
|
196
|
+
/** Nome ou identificador da secao grafica de origem do evento. */
|
|
197
|
+
chart: string;
|
|
198
|
+
/** Registro de dados vinculado ao elemento selecionado. */
|
|
199
|
+
item: T;
|
|
200
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@careonbrasil/dashboard",
|
|
3
|
+
"version": "14.0.0",
|
|
4
|
+
"description": "Biblioteca privada do Dashboard de Recrutamento para Angular 14 da CareOn",
|
|
5
|
+
"peerDependencies": {
|
|
6
|
+
"@angular/common": ">=14.0.0 <15.0.0",
|
|
7
|
+
"@angular/core": ">=14.0.0 <15.0.0",
|
|
8
|
+
"@careonbrasil/ng-charts": "^14.0.6"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"tslib": "^2.3.0"
|
|
12
|
+
},
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"access": "public"
|
|
15
|
+
},
|
|
16
|
+
"module": "fesm2015/careonbrasil-dashboard.mjs",
|
|
17
|
+
"es2020": "fesm2020/careonbrasil-dashboard.mjs",
|
|
18
|
+
"esm2020": "esm2020/careonbrasil-dashboard.mjs",
|
|
19
|
+
"fesm2020": "fesm2020/careonbrasil-dashboard.mjs",
|
|
20
|
+
"fesm2015": "fesm2015/careonbrasil-dashboard.mjs",
|
|
21
|
+
"typings": "index.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
"./package.json": {
|
|
24
|
+
"default": "./package.json"
|
|
25
|
+
},
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./index.d.ts",
|
|
28
|
+
"esm2020": "./esm2020/careonbrasil-dashboard.mjs",
|
|
29
|
+
"es2020": "./fesm2020/careonbrasil-dashboard.mjs",
|
|
30
|
+
"es2015": "./fesm2015/careonbrasil-dashboard.mjs",
|
|
31
|
+
"node": "./fesm2015/careonbrasil-dashboard.mjs",
|
|
32
|
+
"default": "./fesm2020/careonbrasil-dashboard.mjs"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"sideEffects": false
|
|
36
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './lib/dashboard.component';
|
|
2
|
+
export * from './lib/careon-dashboard.module';
|
|
3
|
+
export * from './lib/models/dashboard.models';
|
|
4
|
+
export * from './lib/components/performance-wave/performance-wave.component';
|
|
5
|
+
export * from './lib/components/dashboard-icon/dashboard-icon.component';
|
|
6
|
+
export * from './lib/components/dashboard-skeleton/dashboard-skeleton.component';
|