Liste des trajets : total km du jour dans l'en-tête de rupture
Affiche, dans l'en-tête de chaque journée, le total kilométrique du jour après le nombre de trajets (séparé par « - »). Somme des distances effectives (A/R inclus), trajets sans distance comptés comme 0, format selon la précision courante.
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
>
|
||||
<span class="jour__chevron" aria-hidden="true">{{ estOuvert(groupe) ? '▾' : '▸' }}</span>
|
||||
<span class="jour__date">{{ groupe.date | date: 'EEEE dd/MM/yyyy' }}</span>
|
||||
<span class="jour__compteur">{{ groupe.trajets.length }} trajet{{ groupe.trajets.length > 1 ? 's' : '' }}</span>
|
||||
<span class="jour__compteur">{{ groupe.trajets.length }} trajet{{ groupe.trajets.length > 1 ? 's' : '' }} - {{ totalKmJour(groupe) }}</span>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
|
||||
@@ -305,6 +305,17 @@ export class TrajetListComponent {
|
||||
return `${trajet.distance.toFixed(this.parametresService.precisionDistance())} km`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Total kilométrique de la journée, affiché dans l'en-tête du groupe à côté du
|
||||
* nombre de trajets. Somme des distances EFFECTIVES (déjà doublées si A/R) des
|
||||
* trajets du jour ; les trajets sans distance calculée (null) comptent comme 0.
|
||||
* Formaté selon la précision courante, suffixé « km ».
|
||||
*/
|
||||
totalKmJour(groupe: GroupeJour): string {
|
||||
const total = groupe.trajets.reduce((somme, t) => somme + (t.distance ?? 0), 0);
|
||||
return `${total.toFixed(this.parametresService.precisionDistance())} km`;
|
||||
}
|
||||
|
||||
/** Identité stable pour le suivi de la liste (drag & drop). */
|
||||
trackById(_index: number, trajet: Trajet): number {
|
||||
return trajet.id;
|
||||
|
||||
Reference in New Issue
Block a user