forked from FroSteel/Planification
v2026.5.45 — Dock latéral drag&drop, fix verdicts ghost, multi-onglets EZV
Refonte de l'expérience drag&drop avec dock latéral à droite pour parquer des interventions entre les jours. Fix critique du parser de fiche EV qui marquait à tort des interventions terminées comme annulées (les dates d'action sont détectées par scan regex au lieu d'indices fixes [8]/[9]). Décorrélation des « Logs verbeux » et de la case « Garder les disparitions » dans Paramètres → Diagnostics. Issues résolues : #3 #4 #5 #6 #7 #8. Closes #3 #4 #5 #6 #7 #8
This commit is contained in:
@@ -9,6 +9,55 @@
|
||||
|
||||
---
|
||||
|
||||
## v2026.5.45 — Dock latéral drag&drop, fix verdicts ghost, multi-onglets EZV résolu
|
||||
|
||||
> Refonte de l'expérience drag&drop avec dock latéral pour parquer des interventions entre les jours, fix critique du parser de fiches qui marquait à tort des interventions terminées comme annulées, résolution des 6 issues ouvertes (multi-onglets EZV, absences récurrentes, popups épinglés, pompier absent), et nombreux ajustements d'ergonomie.
|
||||
|
||||
### Issues résolues
|
||||
|
||||
- **#3** — Coches « Absences récurrentes » : merge propre avec l'état stocké au lieu d'écrasement, les coches sont retenues lors d'un changement de groupe ou d'une réouverture des paramètres.
|
||||
- **#4** — Perte de session EZV multi-onglets : permission optionnelle `cookies` + listener `cookieChanged` côté background, toggle dans Paramètres → Diagnostics. La session reste valable même après reconnexion et fermeture d'un onglet EZV.
|
||||
- **#5** — Bouton de copie de référence dans une popup épinglée : handler `copy-ref` ajouté.
|
||||
- **#6** — Popup épinglée au premier plan : clic sur une popup recalcule le z-index pour la passer au-dessus des autres.
|
||||
- **#7** — Notification « +2 min » fantôme : reset des flags d'alerte slide au retour de la prolongation.
|
||||
- **#8** — Compteur pompier : un pompier absent toute la journée est exclu du compteur.
|
||||
|
||||
### Dock latéral drag&drop
|
||||
|
||||
Le dock à droite permet de mettre des interventions de côté pendant qu'on navigue entre les jours, puis de les redéposer plus tard.
|
||||
|
||||
- Apparition graduelle pendant un drag : peep-min (sans contenu), peep (avec cartes), expanded (au survol ou au bord droit).
|
||||
- **Délai 500 ms** pour expand/collapse pour éviter le flicker quand le curseur effleure le bord du dock.
|
||||
- Card du dock : référence + durée prévue (`1h`, `1h30`, `45min`) avec barre verticale 4 px sur la gauche dans la couleur de la catégorie. Fond transparent.
|
||||
- Bouton de retrait `×` : **appui long 2 s** avec animation `conic-gradient`. Un clic simple ne fait rien.
|
||||
- Drag depuis le dock : retrait différé à l'activation effective du drag (5 px). Ghost flottant sans heure à gauche. Drop sur tech → modal de confirmation. Drop hors zone / Échap / sur le même slot d'origine → restauration dans le dock.
|
||||
- Plus de scrollbar horizontale en bas du dock, plus de clic-through dans la zone autour du bouton « Tout annuler ».
|
||||
|
||||
### Verdicts ghost — fix critique
|
||||
|
||||
Une intervention terminée par le tech mais dont la fiche était passée en statut « Redirigé » / « Finalisation » / « Exécution » était à tort marquée comme « annulée » et retirée du planning, parce que le parser de fiche cherchait les dates d'action aux indices `[8]`/`[9]` du tableau `rows` alors que le layout EV récent les place en `[6]`/`[7]` (et la description en `[9]` au lieu de `[11]`).
|
||||
|
||||
- **Détection robuste** : scan des valeurs pour le pattern `DD/MM/YYYY HH:MM:SS`, garde des 2 dernières occurrences comme (création, fin). Survit aux variations de layout EV.
|
||||
- **Décorrélation logs / KEEP-forcé** : nouvelle case dédiée « Garder les disparitions » dans Paramètres → Diagnostics, indépendante des « Logs verbeux ». Mode prod par défaut → verdict `REMOVE` appliqué (statut Annulé/Supprimé, ou statut clos sans commentaire du tech, ou action sans commentaire `login:`).
|
||||
|
||||
### Drag&drop bloqué pour les interventions non-déplaçables
|
||||
|
||||
`_canRescheduleIv` refuse maintenant explicitement le drag pour :
|
||||
|
||||
- iv en verdict `terminated-pending` (gris « fait »).
|
||||
- iv en verdict `terminated-clos` (vert ✓✓).
|
||||
- iv dont le statut EV est dans `CLOSED_STATUS` ou `RESOLVED_STATUS`.
|
||||
- iv en cours d'analyse de disparition (`_disappearChecking`).
|
||||
|
||||
### Popups dépinglés
|
||||
|
||||
- Auto-fermeture du popup dépinglé quand la souris quitte sa zone et celle des cards liées de la même iv (300 ms de grâce). N'interfère pas avec un drag de planning en cours.
|
||||
|
||||
### Tooltip / contact
|
||||
|
||||
- Le contact n'inclut plus les labels « fiche » (`Étage`, `Bureau`, `Service`, `Matériel`, `Problème`, `TFS`, `Date`, `Heure`, `Lieu`, `Bénéficiaire`, `Nom utilisateur`) qui se collent parfois à la valeur du contact à cause de séparateurs perdus dans la source EV. Le tooltip insère un saut de ligne avant chaque label collé pour la lisibilité.
|
||||
|
||||
|
||||
## v2026.5.44 — Refonte topbar, personnalisation Apparence, onboarding équipe, refresh séquentiel
|
||||
|
||||
> Refonte visuelle de la topbar (vue classique + horizontale), nouveau panneau
|
||||
|
||||
Reference in New Issue
Block a user