feat: utilise les liens de pages partout
parent
6cb2b75c71
commit
fb1fec7001
|
@ -9,18 +9,10 @@ export function createSingleValueStatListItemBlock(
|
|||
formatOptions: ValueFormatOptions,
|
||||
data: StatsData
|
||||
): BlockObjectRequest {
|
||||
if (isNumber(data)) {
|
||||
return {
|
||||
bulleted_list_item: {
|
||||
rich_text: [
|
||||
{
|
||||
text: {
|
||||
content: label + ": " + formatValue(data, formatOptions),
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
if (isNumber(data) ) {
|
||||
return bulletedListNumberData(label, data, formatOptions);
|
||||
} else if (data.relatedPageIds.length === 0 ) {
|
||||
return bulletedListNumberData(label, data.value, formatOptions);
|
||||
} else {
|
||||
return {
|
||||
toggle: {
|
||||
|
@ -37,7 +29,7 @@ export function createSingleValueStatListItemBlock(
|
|||
rich_text: [
|
||||
{
|
||||
text: {
|
||||
content: "Page concernées:",
|
||||
content: "Liens: ",
|
||||
},
|
||||
},
|
||||
...data.relatedPageIds.map((pageId) =>
|
||||
|
@ -52,6 +44,20 @@ export function createSingleValueStatListItemBlock(
|
|||
}
|
||||
}
|
||||
|
||||
function bulletedListNumberData(label: string, data: number, formatOptions: ValueFormatOptions): BlockObjectRequest {
|
||||
return {
|
||||
bulleted_list_item: {
|
||||
rich_text: [
|
||||
{
|
||||
text: {
|
||||
content: label + ": " + formatValue(data, formatOptions),
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
function createPageMentionRichTextElement(pageId: string): {
|
||||
mention: { page: { id: string } };
|
||||
} {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { Famille, isExResistant, isResistant } from "../../../data/Famille";
|
||||
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
||||
import { nbFamillesAvecPagesLiees } from "../penales/nbFamillesAvecPagesLiees";
|
||||
import { StatsAutres } from "./StatsAutres";
|
||||
|
||||
export function computeStatsAutres(familles: Famille[]): StatsAutres {
|
||||
|
@ -7,20 +8,26 @@ export function computeStatsAutres(familles: Famille[]): StatsAutres {
|
|||
(f) => isResistant(f) || isExResistant(f)
|
||||
);
|
||||
const statsAutres: StatsAutres = {
|
||||
nbFamillesControleFiscal: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Contrôle fiscal"
|
||||
).length,
|
||||
nbFamillesControleFiscal: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Contrôle fiscal"
|
||||
)
|
||||
),
|
||||
|
||||
nbFamillesControleURSAFF: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Contrôle URSSAF"
|
||||
).length,
|
||||
nbFamillesControleURSAFF: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Contrôle URSSAF"
|
||||
)
|
||||
),
|
||||
|
||||
nbFamillesSuppressionCAF: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"CAF suppression"
|
||||
).length,
|
||||
nbFamillesSuppressionCAF: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"CAF suppression"
|
||||
)
|
||||
),
|
||||
};
|
||||
return statsAutres;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import { median } from "../../../utils/math/median";
|
|||
import { StatsGenerales } from "./StatsGenerales";
|
||||
import _, { countBy, uniq } from "lodash";
|
||||
import { isIntegrationEnCours } from "../../../data/StatutFamille";
|
||||
import { nbFamillesAvecPagesLiees } from "../penales/nbFamillesAvecPagesLiees";
|
||||
|
||||
export function computeStatsGenerales(familles: Famille[]): StatsGenerales {
|
||||
const famillesResistantesOrEx = familles.filter(
|
||||
|
@ -24,8 +25,11 @@ export function computeStatsGenerales(familles: Famille[]): StatsGenerales {
|
|||
(f) => dureeResistanceInDays(f)!
|
||||
);
|
||||
const statsGenerales: StatsGenerales = {
|
||||
nbFamillesResistantesActuelles: famillesResistantes.length,
|
||||
nbFamillesResistantesActuellesOuPassees: famillesResistantesOrEx.length,
|
||||
nbFamillesResistantesActuelles:
|
||||
nbFamillesAvecPagesLiees(famillesResistantes),
|
||||
nbFamillesResistantesActuellesOuPassees: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOrEx
|
||||
),
|
||||
|
||||
nbFamillesResistantesActuellesParDepartement: sortByKey(
|
||||
countBy(famillesResistantes, (f) => f.Departement)
|
||||
|
@ -35,7 +39,9 @@ export function computeStatsGenerales(familles: Famille[]): StatsGenerales {
|
|||
).length,
|
||||
dureeResistanceMedianne: median(dureesResistances),
|
||||
dureeResistanceMoyenne: average(dureesResistances),
|
||||
nbFamillesResistantesActuellesSansEvenements: famillesSansEvenements.length,
|
||||
nbFamillesResistantesActuellesSansEvenements: nbFamillesAvecPagesLiees(
|
||||
famillesSansEvenements
|
||||
),
|
||||
nbFamillesParContexteDEntree: sortByKey(
|
||||
countBy(famillesResistantesOrEx, (f) => f.ContexteEntree)
|
||||
),
|
||||
|
|
|
@ -6,6 +6,7 @@ import {
|
|||
import { Famille, isExResistant, isResistant } from "../../../data/Famille";
|
||||
import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements";
|
||||
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
||||
import { nbFamillesAvecPagesLiees } from "../penales/nbFamillesAvecPagesLiees";
|
||||
import { StatsSociales } from "./StatsSociales";
|
||||
|
||||
export function computeStatsSociales(familles: Famille[]): StatsSociales {
|
||||
|
@ -14,64 +15,91 @@ export function computeStatsSociales(familles: Famille[]): StatsSociales {
|
|||
);
|
||||
const now = new Date();
|
||||
const statsCiviles: StatsSociales = {
|
||||
nbFamillesProcedureCivile: filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
(e) => isProcedureCivile(e)
|
||||
).length,
|
||||
nbFamillesProcedureCivile: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenements(famillesResistantesOuEx, (e) =>
|
||||
isProcedureCivile(e)
|
||||
)
|
||||
),
|
||||
|
||||
nbFamilleAvecIP: filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
isInformationPreoccupante
|
||||
).length,
|
||||
nbFamilleAvecIP: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
isInformationPreoccupante
|
||||
)
|
||||
),
|
||||
|
||||
nbFamilleAvecClassementSuiteIP: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Classement suite IP"
|
||||
).length,
|
||||
nbFamilleAvecAssistanceEducative: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Assistance éducative"
|
||||
).length,
|
||||
nbFamilleAvecClassementSuiteIP: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Classement suite IP"
|
||||
)
|
||||
),
|
||||
nbFamilleAvecAssistanceEducative: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Assistance éducative"
|
||||
)
|
||||
),
|
||||
|
||||
nbFamilleAvecAuditionDesEnfants: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Audition des enfants"
|
||||
).length,
|
||||
nbFamilleAvecAuditionDesEnfants: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Audition des enfants"
|
||||
)
|
||||
),
|
||||
|
||||
nbFamilleAvecSignalement: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Signalement"
|
||||
).length,
|
||||
nbFamilleAvecSignalement: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Signalement"
|
||||
)
|
||||
),
|
||||
jugePourEnfant: {
|
||||
nbFamillesPassees: filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
(e) => e.Type === "Juge pour enfants" && isEvenementBefore(e, now)
|
||||
).length,
|
||||
nbFamillesConvoquées: filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
(e) => e.Type === "Juge pour enfants" && !isEvenementBefore(e, now)
|
||||
).length,
|
||||
nbFamillesPassees: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
(e) => e.Type === "Juge pour enfants" && isEvenementBefore(e, now)
|
||||
)
|
||||
),
|
||||
nbFamillesConvoquées: nbFamillesAvecPagesLiees(
|
||||
filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
(e) => e.Type === "Juge pour enfants" && !isEvenementBefore(e, now)
|
||||
)
|
||||
),
|
||||
},
|
||||
propFamilleSocial: {
|
||||
classementApresIP: famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Classement après IP"
|
||||
).length,
|
||||
classementApresMijeOuAemo: famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Classement après MIJE ou AEMO ou"
|
||||
).length,
|
||||
convocationJugePourEnfants: famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Convocation Juge pour Enfants"
|
||||
).length,
|
||||
convoqueeServiceSociaux: famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Convoquée par les services sociaux"
|
||||
).length,
|
||||
enqueteEnCours: famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Enquête en cours"
|
||||
).length,
|
||||
mije: famillesResistantesOuEx.filter((f) => f.Social === "MJIE").length,
|
||||
pasDenquete: famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Pas d’enquête sociale"
|
||||
).length,
|
||||
classementApresIP: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Classement après IP"
|
||||
)
|
||||
),
|
||||
classementApresMijeOuAemo: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Classement après MIJE ou AEMO ou"
|
||||
)
|
||||
),
|
||||
convocationJugePourEnfants: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Convocation Juge pour Enfants"
|
||||
)
|
||||
),
|
||||
convoqueeServiceSociaux: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Convoquée par les services sociaux"
|
||||
)
|
||||
),
|
||||
enqueteEnCours: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOuEx.filter((f) => f.Social === "Enquête en cours")
|
||||
),
|
||||
mije: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOuEx.filter((f) => f.Social === "MJIE")
|
||||
),
|
||||
pasDenquete: nbFamillesAvecPagesLiees(
|
||||
famillesResistantesOuEx.filter(
|
||||
(f) => f.Social === "Pas d’enquête sociale"
|
||||
)
|
||||
),
|
||||
},
|
||||
};
|
||||
return statsCiviles;
|
||||
|
|
Loading…
Reference in New Issue