Saisie/insertion : date de journée, repositionnement, point A/R, retour domicile
Améliorations de saisie issues du retour d'usage : - Insertion : la date pré-remplie est celle de la JOURNÉE du trajet source (via prefill.date), et non la date de la carte, pour éviter les erreurs de saisie. - Insertion « après » / « avant le suivant » : l'adresse de départ pré-remplie est le point de FIN du trajet source — son arrivée, ou son DÉPART si c'est un aller/retour (le véhicule est revenu à son point d'origine). - Après création/modification sur une autre journée : repositionnement auto sur le mois du trajet, cadrage de la carte sur sa date, et dépliage du groupe de cette journée (TrajetListComponent.ouvrirJour, différé après recalcul du repliage) pour rendre le trajet ajouté visible. - Bouton « Utiliser mon domicile » sur l'arrivée : pré-remplit le commentaire avec « Retour domicile » si le commentaire est vide (jamais de remplacement). Specs : requirements.md (exigences 10.19, 11.1/11.2/11.12, 12.23) et design.md (TrajetForm, TrajetList, ConsultationJour) mis à jour.
This commit is contained in:
@@ -67,6 +67,12 @@ export interface TrajetInsertionPrefill {
|
||||
adresseDepart?: string | null;
|
||||
adresseArrivee?: string | null;
|
||||
vehiculeId?: number | null;
|
||||
/**
|
||||
* Date (ISO `yyyy-MM-dd`) de la journée du trajet à partir duquel on insère.
|
||||
* En mode insertion, elle prime sur `dateParDefaut` (date de la carte) afin que
|
||||
* le nouveau trajet soit rattaché à la BONNE journée (Exigences 11.1–11.4).
|
||||
*/
|
||||
date?: string | null;
|
||||
}
|
||||
|
||||
/** Identifie lequel des deux champs adresse est concerné. */
|
||||
@@ -400,8 +406,14 @@ export class TrajetFormComponent implements OnInit, OnDestroy {
|
||||
return;
|
||||
}
|
||||
|
||||
// Création / insertion : pré-remplit la date avec la journée affichée si fournie.
|
||||
const dateDefaut = this.versIsoInput(this.dateParDefaut ?? '');
|
||||
// Création / insertion : pré-remplit la date. En mode insertion, la date de la
|
||||
// JOURNÉE du trajet concerné (prefill.date) prime sur la date de la carte
|
||||
// (dateParDefaut), afin de rattacher le nouveau trajet à la bonne journée.
|
||||
const dateSource =
|
||||
this.mode === 'insert' && this.prefill?.date
|
||||
? this.prefill.date
|
||||
: (this.dateParDefaut ?? '');
|
||||
const dateDefaut = this.versIsoInput(dateSource);
|
||||
if (dateDefaut) {
|
||||
this.form.patchValue({ date: dateDefaut });
|
||||
}
|
||||
@@ -511,6 +523,13 @@ export class TrajetFormComponent implements OnInit, OnDestroy {
|
||||
this.coordArrivee.set(null);
|
||||
this.sourceFiableArrivee.set(true);
|
||||
this.suggestionsArrivee.set([]);
|
||||
// Confort de saisie : un trajet dont l'arrivée est le domicile est typiquement
|
||||
// un retour. On pré-remplit le commentaire avec « Retour domicile » s'il est
|
||||
// encore vide (on ne remplace jamais un commentaire déjà saisi).
|
||||
if (!(this.commentaireCtrl.value ?? '').trim()) {
|
||||
this.commentaireCtrl.setValue('Retour domicile');
|
||||
this.commentaireCtrl.markAsDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user