Affichage élections législatives 2022

This commit is contained in:
2024-06-20 23:29:18 +02:00
parent 1b0b894acc
commit 5f279fa949
8 changed files with 357 additions and 47 deletions

View File

@@ -1,5 +1,5 @@
export function getNomZone(typeResultats, zoneInfo) {
if (!zoneInfo)
if (!zoneInfo.type)
return ""
else if (typeResultats === "france")
return "France"
@@ -15,30 +15,36 @@ export function getNomZone(typeResultats, zoneInfo) {
return zoneInfo.libelle
}
export function trierCandidats(candidats, voix_par_candidat) {
export function trierCandidats(candidats, voix_par_candidat, key = "numero") {
return candidats.toSorted((l1, l2) => {
return (voix_par_candidat[l2.numero] || 0) - (voix_par_candidat[l1.numero] || 0)
return (voix_par_candidat[l2[key]] || 0) - (voix_par_candidat[l1[key]] || 0)
})
}
export function regrouperVoix(voixCandidats, candidats, blocs, nuances) {
export function regrouperVoix(voixCandidats, candidats, blocs, nuances, dejaGroupesParNuance = false) {
if (!candidats || !voixCandidats || !blocs || !nuances
|| candidats.length === 0 || blocs.length === 0 || nuances.length === 0)
return [{}, {}]
const key = dejaGroupesParNuance ? "code" : "numero"
const parBloc = {}
const parNuance = {}
const parNuance = dejaGroupesParNuance ? voixCandidats : {}
for (let bloc of blocs) {
parBloc[bloc.nom] = 0
}
for (let nuance of nuances) {
parNuance[nuance.code] = 0
if (!dejaGroupesParNuance) {
for (let nuance of nuances) {
parNuance[nuance.code] = 0
}
}
for (let candidat of candidats) {
parBloc[candidat.bloc] += voixCandidats[candidat.numero] || 0
parNuance[candidat.nuance] += voixCandidats[candidat.numero] || 0
parBloc[candidat.bloc] += voixCandidats[candidat[key]] || 0
if (!dejaGroupesParNuance)
parNuance[candidat.nuance] += voixCandidats[candidat[key]] || 0
}
return [parBloc, parNuance]