Skip to content

Commit

Permalink
Ajoute un tri par vraisemblance dans le tableau de risques
Browse files Browse the repository at this point in the history
  • Loading branch information
Nephtys authored and fbezagu committed Oct 25, 2024
1 parent acfbeb0 commit ca32a87
Showing 1 changed file with 37 additions and 9 deletions.
46 changes: 37 additions & 9 deletions svelte/lib/risques/Risques.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
let modeAffichageTiroir: ModeAffichageTiroir = '';
let risqueEnEdition: Risque | undefined;
let triParGravite: Tri = 'aucun';
let triParVraisemblance: Tri = 'aucun';
type Tri = 'aucun' | 'ascendant' | 'descendant';
Expand Down Expand Up @@ -96,26 +97,49 @@
triParGravite = triSuivant(triParGravite);
};
const triVraisemblance = () => {
triParVraisemblance = triSuivant(triParVraisemblance);
};
$: doitAfficherAvertissement = risques.some(risqueAMettreAJour);
function comparateur(r1: Risque, r2: Risque): number {
const n1 = r1.niveauGravite
? niveauxGravite[r1.niveauGravite].position
const compare = (risque1: Risque, risque2: Risque): number => {
const positionGraviteRisque1 = risque1.niveauGravite
? niveauxGravite[risque1.niveauGravite].position
: -1;
const positionGraviteRisque2 = risque2.niveauGravite
? niveauxGravite[risque2.niveauGravite].position
: -1;
const n2 = r2.niveauGravite
? niveauxGravite[r2.niveauGravite].position
const positionVraisemblanceRisque1 = risque1.niveauVraisemblance
? niveauxVraisemblance[risque1.niveauVraisemblance].position
: -1;
const positionVraisemblanceRisque2 = risque2.niveauVraisemblance
? niveauxVraisemblance[risque2.niveauVraisemblance].position
: -1;
const laGraviteNaPasDimpactSurLeTri =
triParGravite === 'aucun' ||
positionGraviteRisque1 === positionGraviteRisque2;
if (laGraviteNaPasDimpactSurLeTri && triParVraisemblance === 'ascendant') {
return positionVraisemblanceRisque1 - positionVraisemblanceRisque2;
}
if (laGraviteNaPasDimpactSurLeTri && triParVraisemblance === 'descendant') {
return positionVraisemblanceRisque2 - positionVraisemblanceRisque1;
}
if (triParGravite === 'ascendant') {
return n1 - n2;
return positionGraviteRisque1 - positionGraviteRisque2;
}
if (triParGravite === 'descendant') {
return n2 - n1;
return positionGraviteRisque2 - positionGraviteRisque1;
}
return 0;
}
};
let risquesTries: Risque[];
$: triParGravite, (risquesTries = [...risques].sort(comparateur));
$: triParGravite,
triParVraisemblance,
(risquesTries = [...risques].sort(compare));
</script>

<div class="au-dessus-tableau">
Expand Down Expand Up @@ -185,6 +209,10 @@
tiroirLegendeVraisemblanceOuvert = true;
}}
/>
<BoutonIcone
icone={`tri-${triParVraisemblance}`}
on:click={triVraisemblance}
/>
</div>
</th>
</tr>
Expand Down

0 comments on commit ca32a87

Please sign in to comment.