Skip to content

Commit

Permalink
Affine le choix des jeux de données objectifs/résultats à afficher
Browse files Browse the repository at this point in the history
  • Loading branch information
marc-rutkowski committed Sep 17, 2024
1 parent dbe0e0f commit f62286e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ type IndicateurValeursGroupeeParSource = {
valeurs: IndicateurValeurGroupee[];
};

type IndicateurValeurGroupee = {
export type IndicateurValeurGroupee = {
id: number;
date_valeur: string;
resultat?: number | null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
ResultatTrajectoire,
} from './useCalculTrajectoire';
import {
IndicateurValeurGroupee,
separeObjectifsEtResultats,
useIndicateurValeurs,
} from './useIndicateurValeurs';
Expand Down Expand Up @@ -101,14 +102,14 @@ export const useResultatTrajectoire = ({
sources?.[SourceIndicateur.RARE]?.valeurs
)?.resultats;

const objectifsCollectiviteOuPCAET =
objectifsEtResultats?.objectifs?.length ?? 0
? objectifsEtResultats?.objectifs
: objectifsPCAET;
const resultatsCollectiviteOuRARE =
objectifsEtResultats?.resultats?.length ?? 0
? objectifsEtResultats?.resultats
: resultatsRARE;
const objectifsCollectiviteOuPCAET = selectDataset({
donneesCollectivites: objectifsEtResultats?.objectifs,
donneesSourceExterne: objectifsPCAET,
});
const resultatsCollectiviteOuRARE = selectDataset({
donneesCollectivites: objectifsEtResultats?.resultats,
donneesSourceExterne: resultatsRARE,
});

// crée les datasets objectifs et résultats pour le graphique
const objectifs =
Expand Down Expand Up @@ -170,3 +171,20 @@ const prepareDonneesParSecteur = (
})
.filter(v => !!v);
};

/** Sélectionne le jeu de données le plus approprié pour l'affichage des objectifs/résultats */
const selectDataset = ({
donneesCollectivites,
donneesSourceExterne,
}: {
donneesCollectivites?: IndicateurValeurGroupee[];
donneesSourceExterne?: IndicateurValeurGroupee[];
}) => {
if (!donneesSourceExterne?.length) {
return donneesCollectivites;
}
if ((donneesCollectivites?.length ?? 0) <= 1) {
return donneesSourceExterne;
}
return donneesCollectivites;
};

0 comments on commit f62286e

Please sign in to comment.