Meilleur affichage participation tour 1 + 2
This commit is contained in:
@ -22,9 +22,11 @@ export function HistogrammeVoix({titre, nomCategories, valeurParCategorie, total
|
||||
const data = []
|
||||
|
||||
for (let categorie of Object.keys(nomCategories)) {
|
||||
categories.push(nomCategories[categorie])
|
||||
data.push([nomCategories[categorie], valeurParCategorie[categorie], couleurParCategorie[categorie],
|
||||
nomCategories[categorie]])
|
||||
if (valeurParCategorie[categorie] !== 0) {
|
||||
categories.push(nomCategories[categorie])
|
||||
data.push([nomCategories[categorie], valeurParCategorie[categorie], couleurParCategorie[categorie],
|
||||
nomCategories[categorie]])
|
||||
}
|
||||
}
|
||||
|
||||
return [categories, data]
|
||||
@ -109,59 +111,142 @@ export function CompositionHemicycle({titre, blocs, nuances, siegesParBloc, sieg
|
||||
|
||||
/**
|
||||
* Tableau de participation de l'élection dans la zone concernée
|
||||
* @param resultats
|
||||
* @param donnees_t1
|
||||
* @param donnees_t2
|
||||
* @return {JSX.Element}
|
||||
* @constructor
|
||||
*/
|
||||
export function TableauParticipation({resultats}) {
|
||||
export function TableauParticipation({donnees_t1, donnees_t2 = null}) {
|
||||
const headerRow = useMemo(() => {
|
||||
if (donnees_t2) {
|
||||
return <TableRow>
|
||||
<TableCell></TableCell>
|
||||
<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>Nombre</TableCell>
|
||||
<TableCell>% Inscrit⋅es</TableCell>
|
||||
<TableCell>% Votant⋅es</TableCell>
|
||||
</TableRow>
|
||||
}
|
||||
}, [donnees_t2])
|
||||
|
||||
const bodyRows = useMemo(() => {
|
||||
if (donnees_t2) {
|
||||
return <>
|
||||
<TableRow key={"Inscrit⋅es"}>
|
||||
<TableCell>Inscrit⋅es</TableCell>
|
||||
<TableCell>{donnees_t1.inscrits}</TableCell>
|
||||
<TableCell></TableCell>
|
||||
<TableCell></TableCell>
|
||||
<TableCell>{donnees_t2.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>
|
||||
<TableCell>{donnees_t2.abstentions}</TableCell>
|
||||
<TableCell>{(100 * donnees_t2.abstentions / donnees_t2.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>
|
||||
<TableCell>{donnees_t2.votants}</TableCell>
|
||||
<TableCell>{(100 * donnees_t2.votants / donnees_t2.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>
|
||||
<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 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>
|
||||
<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 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>
|
||||
<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>
|
||||
</>
|
||||
} 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>
|
||||
<TableRow>
|
||||
<TableCell></TableCell>
|
||||
<TableCell>Nombre</TableCell>
|
||||
<TableCell>% Inscrit⋅es</TableCell>
|
||||
<TableCell>% Votant⋅es</TableCell>
|
||||
</TableRow>
|
||||
{headerRow}
|
||||
</TableHead>
|
||||
<TableBody>
|
||||
<TableRow key={"Inscrit⋅es"}>
|
||||
<TableCell>Inscrit⋅es</TableCell>
|
||||
<TableCell>{resultats.inscrits}</TableCell>
|
||||
<TableCell></TableCell>
|
||||
<TableCell></TableCell>
|
||||
</TableRow>
|
||||
<TableRow key={"Abstentions"}>
|
||||
<TableCell>Abstention</TableCell>
|
||||
<TableCell>{resultats.abstentions}</TableCell>
|
||||
<TableCell>{(100 * resultats.abstentions / resultats.inscrits).toFixed(2)} %</TableCell>
|
||||
<TableCell></TableCell>
|
||||
</TableRow>
|
||||
<TableRow key={"Votant⋅es"}>
|
||||
<TableCell>Votant⋅es</TableCell>
|
||||
<TableCell>{resultats.votants}</TableCell>
|
||||
<TableCell>{(100 * resultats.votants / resultats.inscrits).toFixed(2)} %</TableCell>
|
||||
<TableCell></TableCell>
|
||||
</TableRow>
|
||||
<TableRow key={"Blancs"}>
|
||||
<TableCell>Blancs</TableCell>
|
||||
<TableCell>{resultats.blancs}</TableCell>
|
||||
<TableCell>{(100 * resultats.blancs / resultats.inscrits).toFixed(2)} %</TableCell>
|
||||
<TableCell>{(100 * resultats.blancs / resultats.votants).toFixed(2)} %</TableCell>
|
||||
</TableRow>
|
||||
<TableRow key={"Nuls"}>
|
||||
<TableCell>Nuls</TableCell>
|
||||
<TableCell>{resultats.nuls}</TableCell>
|
||||
<TableCell>{(100 * resultats.nuls / resultats.inscrits).toFixed(2)} %</TableCell>
|
||||
<TableCell>{(100 * resultats.nuls / resultats.votants).toFixed(2)} %</TableCell>
|
||||
</TableRow>
|
||||
<TableRow key={"Exprimés"}>
|
||||
<TableCell>Exprimés</TableCell>
|
||||
<TableCell>{resultats.exprimes}</TableCell>
|
||||
<TableCell>{(100 * resultats.exprimes / resultats.inscrits).toFixed(2)} %</TableCell>
|
||||
<TableCell>{(100 * resultats.exprimes / resultats.votants).toFixed(2)} %</TableCell>
|
||||
</TableRow>
|
||||
{bodyRows}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</TableContainer>
|
||||
|
Reference in New Issue
Block a user