Meilleur affichage participation tour 1 + 2
This commit is contained in:
parent
d75ab4d0f3
commit
0fef97dd82
@ -82,7 +82,7 @@ export default function ElectionsEuropeennes2024() {
|
|||||||
}
|
}
|
||||||
return [categories, voixParNuance, couleurs]
|
return [categories, voixParNuance, couleurs]
|
||||||
}
|
}
|
||||||
}, [typeResultats, nuances, blocs, donnees, voixParNuance, voixParBloc, grouperParBloc])
|
}, [nuances, blocs, voixParNuance, voixParBloc, grouperParBloc])
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
<AppBar position="sticky">
|
<AppBar position="sticky">
|
||||||
@ -100,7 +100,7 @@ export default function ElectionsEuropeennes2024() {
|
|||||||
blocs={blocs} nuances={nuances} siegesParBloc={siegesParBloc} siegesParNuance={siegesParNuance}
|
blocs={blocs} nuances={nuances} siegesParBloc={siegesParBloc} siegesParNuance={siegesParNuance}
|
||||||
grouperParBloc={grouperParBloc} />
|
grouperParBloc={grouperParBloc} />
|
||||||
<TableauResultatsEuropeennes blocs={blocs} nuances={nuances} listes={listes} resultats={donnees} siegesParListe={siegesParListe} />
|
<TableauResultatsEuropeennes blocs={blocs} nuances={nuances} listes={listes} resultats={donnees} siegesParListe={siegesParListe} />
|
||||||
<TableauParticipation resultats={donnees} />
|
<TableauParticipation donnees_t1={donnees} />
|
||||||
<CarteResultats typeElection={"europeennes"} anneeElection={"2024"} typeResultats={typeResultats} zoneInfo={zoneInfo}
|
<CarteResultats typeElection={"europeennes"} anneeElection={"2024"} typeResultats={typeResultats} zoneInfo={zoneInfo}
|
||||||
typeSousZone={typeSousZone} candidats={listes} blocs={blocs} nuances={nuances} tour={tour}
|
typeSousZone={typeSousZone} candidats={listes} blocs={blocs} nuances={nuances} tour={tour}
|
||||||
grouperParBloc={grouperParBloc} />
|
grouperParBloc={grouperParBloc} />
|
||||||
|
@ -121,7 +121,7 @@ export default function ElectionsLegislatives2022() {
|
|||||||
|
|
||||||
const tableauResultats = useMemo(() => {
|
const tableauResultats = useMemo(() => {
|
||||||
if (typeResultats === "circonscription" || typeResultats === "bureau_vote")
|
if (typeResultats === "circonscription" || typeResultats === "bureau_vote")
|
||||||
return <TableauResultatsCandidatsLegislatives candidats={candidats} blocs={blocs} nuances={nuances} donnees={donnees} />
|
return <TableauResultatsCandidatsLegislatives candidats={candidats} blocs={blocs} nuances={nuances} donnees_t1={resultats.tour1} donnees_t2={resultats.tour2} />
|
||||||
else
|
else
|
||||||
return <TableauResultatsNuancesLegislatives blocs={blocs} nuances={nuances} donnees={donnees} />
|
return <TableauResultatsNuancesLegislatives blocs={blocs} nuances={nuances} donnees={donnees} />
|
||||||
}, [typeResultats, candidats, blocs, nuances, donnees])
|
}, [typeResultats, candidats, blocs, nuances, donnees])
|
||||||
@ -139,7 +139,7 @@ export default function ElectionsLegislatives2022() {
|
|||||||
nomCategories={categoriesHistogramme} valeurParCategorie={valeursHistogramme}
|
nomCategories={categoriesHistogramme} valeurParCategorie={valeursHistogramme}
|
||||||
totalExprimes={donnees.exprimes} couleurParCategorie={couleursHistogramme} />
|
totalExprimes={donnees.exprimes} couleurParCategorie={couleursHistogramme} />
|
||||||
{tableauResultats}
|
{tableauResultats}
|
||||||
<TableauParticipation resultats={donnees} />
|
<TableauParticipation donnees_t1={resultats.tour1 ?? {}} donnees_t2={resultats.tour2 ?? {}} />
|
||||||
<CarteResultats typeElection={"legislatives"} anneeElection={"2022"} typeResultats={typeResultats} zoneInfo={zoneInfo}
|
<CarteResultats typeElection={"legislatives"} anneeElection={"2022"} typeResultats={typeResultats} zoneInfo={zoneInfo}
|
||||||
typeSousZone={typeSousZone} candidats={candidats} blocs={blocs} nuances={nuances} tour={tour}
|
typeSousZone={typeSousZone} candidats={candidats} blocs={blocs} nuances={nuances} tour={tour}
|
||||||
grouperParBloc={grouperParBloc} candidatKey={candidatKey} />
|
grouperParBloc={grouperParBloc} candidatKey={candidatKey} />
|
||||||
|
@ -22,10 +22,12 @@ export function HistogrammeVoix({titre, nomCategories, valeurParCategorie, total
|
|||||||
const data = []
|
const data = []
|
||||||
|
|
||||||
for (let categorie of Object.keys(nomCategories)) {
|
for (let categorie of Object.keys(nomCategories)) {
|
||||||
|
if (valeurParCategorie[categorie] !== 0) {
|
||||||
categories.push(nomCategories[categorie])
|
categories.push(nomCategories[categorie])
|
||||||
data.push([nomCategories[categorie], valeurParCategorie[categorie], couleurParCategorie[categorie],
|
data.push([nomCategories[categorie], valeurParCategorie[categorie], couleurParCategorie[categorie],
|
||||||
nomCategories[categorie]])
|
nomCategories[categorie]])
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return [categories, data]
|
return [categories, data]
|
||||||
}, [nomCategories, valeurParCategorie, couleurParCategorie])
|
}, [nomCategories, valeurParCategorie, couleurParCategorie])
|
||||||
@ -109,59 +111,142 @@ export function CompositionHemicycle({titre, blocs, nuances, siegesParBloc, sieg
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tableau de participation de l'élection dans la zone concernée
|
* Tableau de participation de l'élection dans la zone concernée
|
||||||
* @param resultats
|
* @param donnees_t1
|
||||||
|
* @param donnees_t2
|
||||||
* @return {JSX.Element}
|
* @return {JSX.Element}
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
export function TableauParticipation({resultats}) {
|
export function TableauParticipation({donnees_t1, donnees_t2 = null}) {
|
||||||
return <>
|
const headerRow = useMemo(() => {
|
||||||
<TableContainer component={Paper}>
|
if (donnees_t2) {
|
||||||
<Table sx={{ minWidth: 650 }} aria-label="simple table">
|
return <TableRow>
|
||||||
<TableHead>
|
<TableCell></TableCell>
|
||||||
<TableRow>
|
<TableCell>Nombre tour 1</TableCell>
|
||||||
|
<TableCell>% Inscrit⋅es tour 1</TableCell>
|
||||||
|
<TableCell>% Votant⋅es tour 1</TableCell>
|
||||||
|
<TableCell>Nombre tour 2</TableCell>
|
||||||
|
<TableCell>% Inscrit⋅es tour 2</TableCell>
|
||||||
|
<TableCell>% Votant⋅es tour 2</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return <TableRow>
|
||||||
<TableCell></TableCell>
|
<TableCell></TableCell>
|
||||||
<TableCell>Nombre</TableCell>
|
<TableCell>Nombre</TableCell>
|
||||||
<TableCell>% Inscrit⋅es</TableCell>
|
<TableCell>% Inscrit⋅es</TableCell>
|
||||||
<TableCell>% Votant⋅es</TableCell>
|
<TableCell>% Votant⋅es</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHead>
|
}
|
||||||
<TableBody>
|
}, [donnees_t2])
|
||||||
|
|
||||||
|
const bodyRows = useMemo(() => {
|
||||||
|
if (donnees_t2) {
|
||||||
|
return <>
|
||||||
<TableRow key={"Inscrit⋅es"}>
|
<TableRow key={"Inscrit⋅es"}>
|
||||||
<TableCell>Inscrit⋅es</TableCell>
|
<TableCell>Inscrit⋅es</TableCell>
|
||||||
<TableCell>{resultats.inscrits}</TableCell>
|
<TableCell>{donnees_t1.inscrits}</TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
<TableCell>{donnees_t2.inscrits}</TableCell>
|
||||||
<TableCell></TableCell>
|
<TableCell></TableCell>
|
||||||
<TableCell></TableCell>
|
<TableCell></TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow key={"Abstentions"}>
|
<TableRow key={"Abstentions"}>
|
||||||
<TableCell>Abstention</TableCell>
|
<TableCell>Abstention</TableCell>
|
||||||
<TableCell>{resultats.abstentions}</TableCell>
|
<TableCell>{donnees_t1.abstentions}</TableCell>
|
||||||
<TableCell>{(100 * resultats.abstentions / resultats.inscrits).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.abstentions / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
<TableCell>{donnees_t2.abstentions}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.abstentions / donnees_t2.inscrits).toFixed(2)} %</TableCell>
|
||||||
<TableCell></TableCell>
|
<TableCell></TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow key={"Votant⋅es"}>
|
<TableRow key={"Votant⋅es"}>
|
||||||
<TableCell>Votant⋅es</TableCell>
|
<TableCell>Votant⋅es</TableCell>
|
||||||
<TableCell>{resultats.votants}</TableCell>
|
<TableCell>{donnees_t1.votants}</TableCell>
|
||||||
<TableCell>{(100 * resultats.votants / resultats.inscrits).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.votants / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
<TableCell>{donnees_t2.votants}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.votants / donnees_t2.inscrits).toFixed(2)} %</TableCell>
|
||||||
<TableCell></TableCell>
|
<TableCell></TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow key={"Blancs"}>
|
<TableRow key={"Blancs"}>
|
||||||
<TableCell>Blancs</TableCell>
|
<TableCell>Blancs</TableCell>
|
||||||
<TableCell>{resultats.blancs}</TableCell>
|
<TableCell>{donnees_t1.blancs}</TableCell>
|
||||||
<TableCell>{(100 * resultats.blancs / resultats.inscrits).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.blancs / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
<TableCell>{(100 * resultats.blancs / resultats.votants).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.blancs / donnees_t1.votants).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{donnees_t2.blancs}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.blancs / donnees_t2.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.blancs / donnees_t2.votants).toFixed(2)} %</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow key={"Nuls"}>
|
<TableRow key={"Nuls"}>
|
||||||
<TableCell>Nuls</TableCell>
|
<TableCell>Nuls</TableCell>
|
||||||
<TableCell>{resultats.nuls}</TableCell>
|
<TableCell>{donnees_t1.nuls}</TableCell>
|
||||||
<TableCell>{(100 * resultats.nuls / resultats.inscrits).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.nuls / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
<TableCell>{(100 * resultats.nuls / resultats.votants).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.nuls / donnees_t1.votants).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{donnees_t2.nuls}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.nuls / donnees_t2.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.nuls / donnees_t2.votants).toFixed(2)} %</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow key={"Exprimés"}>
|
<TableRow key={"Exprimés"}>
|
||||||
<TableCell>Exprimés</TableCell>
|
<TableCell>Exprimés</TableCell>
|
||||||
<TableCell>{resultats.exprimes}</TableCell>
|
<TableCell>{donnees_t1.exprimes}</TableCell>
|
||||||
<TableCell>{(100 * resultats.exprimes / resultats.inscrits).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.exprimes / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
<TableCell>{(100 * resultats.exprimes / resultats.votants).toFixed(2)} %</TableCell>
|
<TableCell>{(100 * donnees_t1.exprimes / donnees_t1.votants).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{donnees_t2.exprimes}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.exprimes / donnees_t2.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t2.exprimes / donnees_t2.votants).toFixed(2)} %</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
</>
|
||||||
|
} else {
|
||||||
|
return <>
|
||||||
|
<TableRow key={"Inscrit⋅es"}>
|
||||||
|
<TableCell>Inscrit⋅es</TableCell>
|
||||||
|
<TableCell>{donnees_t1.inscrits}</TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
</TableRow>
|
||||||
|
<TableRow key={"Abstentions"}>
|
||||||
|
<TableCell>Abstention</TableCell>
|
||||||
|
<TableCell>{donnees_t1.abstentions}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.abstentions / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
</TableRow>
|
||||||
|
<TableRow key={"Votant⋅es"}>
|
||||||
|
<TableCell>Votant⋅es</TableCell>
|
||||||
|
<TableCell>{donnees_t1.votants}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.votants / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell></TableCell>
|
||||||
|
</TableRow>
|
||||||
|
<TableRow key={"Blancs"}>
|
||||||
|
<TableCell>Blancs</TableCell>
|
||||||
|
<TableCell>{donnees_t1.blancs}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.blancs / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.blancs / donnees_t1.votants).toFixed(2)} %</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
<TableRow key={"Nuls"}>
|
||||||
|
<TableCell>Nuls</TableCell>
|
||||||
|
<TableCell>{donnees_t1.nuls}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.nuls / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.nuls / donnees_t1.votants).toFixed(2)} %</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
<TableRow key={"Exprimés"}>
|
||||||
|
<TableCell>Exprimés</TableCell>
|
||||||
|
<TableCell>{donnees_t1.exprimes}</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.exprimes / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * donnees_t1.exprimes / donnees_t1.votants).toFixed(2)} %</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
</>
|
||||||
|
}
|
||||||
|
}, [donnees_t1, donnees_t2])
|
||||||
|
|
||||||
|
return <>
|
||||||
|
<TableContainer component={Paper}>
|
||||||
|
<Table sx={{ minWidth: 650 }} aria-label="simple table">
|
||||||
|
<TableHead>
|
||||||
|
{headerRow}
|
||||||
|
</TableHead>
|
||||||
|
<TableBody>
|
||||||
|
{bodyRows}
|
||||||
</TableBody>
|
</TableBody>
|
||||||
</Table>
|
</Table>
|
||||||
</TableContainer>
|
</TableContainer>
|
||||||
|
@ -7,9 +7,10 @@ import TableRow from "@mui/material/TableRow"
|
|||||||
import TableCell from "@mui/material/TableCell"
|
import TableCell from "@mui/material/TableCell"
|
||||||
import TableBody from "@mui/material/TableBody"
|
import TableBody from "@mui/material/TableBody"
|
||||||
|
|
||||||
export function TableauResultatsCandidatsLegislatives({blocs, candidats, nuances, donnees}) {
|
export function TableauResultatsCandidatsLegislatives({blocs, candidats, nuances, donnees_t1, donnees_t2}) {
|
||||||
const voixCandidats = donnees?.voix ?? {}
|
const voixCandidats_t1 = donnees_t1?.voix ?? {}
|
||||||
const candidatsTriees = trierCandidats(candidats, voixCandidats)
|
const voixCandidats_t2 = donnees_t2?.voix ?? {}
|
||||||
|
const candidatsTriees = trierCandidats(candidats, voixCandidats_t1)
|
||||||
|
|
||||||
return <>
|
return <>
|
||||||
<TableContainer component={Paper}>
|
<TableContainer component={Paper}>
|
||||||
@ -20,15 +21,21 @@ export function TableauResultatsCandidatsLegislatives({blocs, candidats, nuances
|
|||||||
<TableCell>Candidat</TableCell>
|
<TableCell>Candidat</TableCell>
|
||||||
<TableCell colSpan={2}>Nuance</TableCell>
|
<TableCell colSpan={2}>Nuance</TableCell>
|
||||||
<TableCell colSpan={2}>Bloc</TableCell>
|
<TableCell colSpan={2}>Bloc</TableCell>
|
||||||
<TableCell>Voix</TableCell>
|
<TableCell>Voix tour 1</TableCell>
|
||||||
<TableCell>% Inscrit⋅es</TableCell>
|
<TableCell>% Inscrit⋅es tour 1</TableCell>
|
||||||
<TableCell>% Exprimé⋅es</TableCell>
|
<TableCell>% Exprimé⋅es tour 1</TableCell>
|
||||||
|
<TableCell>Voix tour 2</TableCell>
|
||||||
|
<TableCell>% Inscrit⋅es tour 2</TableCell>
|
||||||
|
<TableCell>% Exprimé⋅es tour 2</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
<TableBody>
|
<TableBody>
|
||||||
{candidatsTriees.map((candidat) => (
|
{candidatsTriees.map((candidat) => (
|
||||||
<LigneCandidat key={candidat.numero} candidat={candidat} voix={voixCandidats[candidat.numero] || 0}
|
<LigneCandidat key={candidat.numero} candidat={candidat}
|
||||||
donnees={donnees} nuances={nuances} blocs={blocs} />
|
voix_t1={voixCandidats_t1[candidat.numero] || 0}
|
||||||
|
voix_t2={voixCandidats_t2[candidat.numero] || 0}
|
||||||
|
donnees_t1={donnees_t1} donnees_t2={donnees_t2}
|
||||||
|
nuances={nuances} blocs={blocs} />
|
||||||
))}
|
))}
|
||||||
</TableBody>
|
</TableBody>
|
||||||
</Table>
|
</Table>
|
||||||
@ -36,20 +43,35 @@ export function TableauResultatsCandidatsLegislatives({blocs, candidats, nuances
|
|||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
|
|
||||||
function LigneCandidat({candidat, voix, donnees, nuances, blocs}) {
|
function LigneCandidat({candidat, voix_t1, voix_t2, donnees_t1, donnees_t2, nuances, blocs}) {
|
||||||
const nuance = nuances.filter(nuance => nuance.code === candidat.nuance)[0]
|
const nuance = nuances.filter(nuance => nuance.code === candidat.nuance)[0]
|
||||||
const bloc = blocs.filter(bloc => bloc.nom === candidat.bloc)[0]
|
const bloc = blocs.filter(bloc => bloc.nom === candidat.bloc)[0]
|
||||||
|
|
||||||
return <TableRow key={candidat.numero}>
|
const gagnant = voix_t2 === Math.max(...Object.values(donnees_t2.voix))
|
||||||
|
|| (voix_t1 === Math.max(...Object.values(donnees_t1.voix))
|
||||||
|
&& voix_t1 / donnees_t1.exprimes >= 0.5 && voix_t1 / donnees_t1.inscrits >= 0.25)
|
||||||
|
|
||||||
|
const cellules_t1 = <>
|
||||||
|
<TableCell>{voix_t1}</TableCell>
|
||||||
|
<TableCell>{(100 * voix_t1 / donnees_t1.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * voix_t1 / donnees_t1.exprimes).toFixed(2)} %</TableCell>
|
||||||
|
</>
|
||||||
|
|
||||||
|
const cellules_t2 = !voix_t2 ? <></> : <>
|
||||||
|
<TableCell>{voix_t2}</TableCell>
|
||||||
|
<TableCell>{(100 * voix_t2 / donnees_t2.inscrits).toFixed(2)} %</TableCell>
|
||||||
|
<TableCell>{(100 * voix_t2 / donnees_t2.exprimes).toFixed(2)} %</TableCell>
|
||||||
|
</>
|
||||||
|
|
||||||
|
return <TableRow sx={{backgroundColor: gagnant ? "#AAFFAA" : ""}} key={candidat.numero}>
|
||||||
<TableCell>{candidat.numero}</TableCell>
|
<TableCell>{candidat.numero}</TableCell>
|
||||||
<TableCell>{candidat.prenom} {candidat.nom}</TableCell>
|
<TableCell>{candidat.prenom} {candidat.nom}</TableCell>
|
||||||
<TableCell sx={{backgroundColor: nuance.couleur, padding: "0.2em"}}></TableCell>
|
<TableCell sx={{backgroundColor: nuance.couleur, padding: "0.2em"}}></TableCell>
|
||||||
<TableCell>{nuance.nom} ({nuance.code})</TableCell>
|
<TableCell>{nuance.nom} ({nuance.code})</TableCell>
|
||||||
<TableCell sx={{backgroundColor: bloc.couleur, padding: "0.2em"}}></TableCell>
|
<TableCell sx={{backgroundColor: bloc.couleur, padding: "0.2em"}}></TableCell>
|
||||||
<TableCell>{bloc.nom}</TableCell>
|
<TableCell>{bloc.nom}</TableCell>
|
||||||
<TableCell>{voix}</TableCell>
|
{cellules_t1}
|
||||||
<TableCell>{(100 * voix / donnees.inscrits).toFixed(2)} %</TableCell>
|
{cellules_t2}
|
||||||
<TableCell>{(100 * voix / donnees.exprimes).toFixed(2)} %</TableCell>
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user