Liste : jour de semaine dans l'en-tête + bouton dédié d'ajout par journée

Retour d'usage : avec plusieurs journées ouvertes, viser le bouton principal
d'ajout en traversant la liste faisait dériver la date ciblée (le survol pilote
la journée affichée sur la carte).

- En-tête de journée réorganisé : jour de la semaine avant la date (ex. « Lundi
  15/09/2026 »), nombre de trajets à la suite, puis un bouton dédié « + » à
  l'extrémité droite (infobulle « Ajouter un trajet sur cette journée »).
- Le bouton « + » ouvre la création avec la date de SA journée, indépendamment
  de la date affichée sur la carte (Output ajouterSurJournee -> conteneur fixe
  lun. 21 sept. 2026 12:54:31 CEST avant ouverture via ouvrirCreationSur). stopPropagation pour ne pas
  déclencher le repliage/dépliage au clic.
- Style : fond bleu IAD / texte blanc par défaut, survol orange (cohérent avec
  les autres boutons d'action).
- Locale française enregistrée (registerLocaleData(localeFr) + LOCALE_ID
  'fr-FR' dans app.config.ts) pour l'affichage du jour de la semaine.

Specs : requirements.md (exigence 12, critères 6 et 24) et design.md
(TrajetListComponent, locale) mis à jour.
This commit is contained in:
2026-09-21 12:54:31 +02:00
parent 91b59d4ce7
commit 058481c192
8 changed files with 110 additions and 19 deletions
@@ -121,6 +121,14 @@ export class TrajetListComponent {
/** Émis pour insérer un trajet entre le courant et le suivant (Exigence 11.3/11.4). */
@Output() insertBetween = new EventEmitter<TrajetInsertionContext>();
/**
* Émis pour ajouter un Trajet sur une journée précise (date ISO `yyyy-MM-dd`), via
* le bouton « + » de l'en-tête de journée. Évite de dépendre de la date affichée sur
* la carte (pilotée par le survol), qui peut avoir dérivé pendant le déplacement de
* la souris vers le bouton.
*/
@Output() ajouterSurJournee = new EventEmitter<string>();
/**
* Émis lorsque la liste a changé (suppression, réordonnancement) et que le
* conteneur doit recharger la journée / le résumé mensuel (Exigences 5.7, 11.6).
@@ -244,6 +252,15 @@ export class TrajetListComponent {
});
}
/**
* Demande l'ajout d'un Trajet sur cette journée (bouton « + » de l'en-tête). Empêche
* la propagation du clic vers le bouton de repliage (l'en-tête est elle-même cliquable).
*/
ajouterSur(groupe: GroupeJour, event: MouseEvent): void {
event.stopPropagation();
this.ajouterSurJournee.emit(groupe.date);
}
/**
* Déplie explicitement la journée `dateIso` (`yyyy-MM-dd`), sans toucher aux autres.
* Appelé par le conteneur après l'ajout/insertion d'un trajet pour rendre la journée