From 7b033a018427e5489570790bf517ffe5302ad4a7 Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Fri, 31 Jul 2026 08:12:22 +0200 Subject: [PATCH] feat: montre au repos qu'un champ est extrait et modifiable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le pointillé qui signale un champ modifiable n'apparaissait qu'au survol. Il faut désormais le chercher à la souris pour savoir si un nombre se corrige — supportable tant que la page n'affiche que de l'extraction, plus du tout dès qu'une valeur déduite s'affiche à côté. Le pointillé reste donc visible au repos : son absence devient le signal qu'un nombre ne se modifie pas. L'infobulle disait « Cliquer pour modifier », ce qui décrit le geste mais tait l'essentiel : d'où vient le nombre. Elle dit maintenant qu'il est extrait du compte rendu, et distingue le champ vide — rien n'a été extrait, il reste à saisir — du champ renseigné. Le composant ne sert qu'aux trois sections de la page d'édition, toutes alimentées par l'extraction : l'affirmation vaut partout où il est employé. Co-Authored-By: Claude Opus 5 --- frontend/src/components/EditableField.vue | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/EditableField.vue b/frontend/src/components/EditableField.vue index 0c40ca7..24e48fc 100644 --- a/frontend/src/components/EditableField.vue +++ b/frontend/src/components/EditableField.vue @@ -4,15 +4,20 @@ :class="{ 'w-full': fullWidth }" > + {{ displayValue }} @@ -101,6 +106,14 @@ const displayValue = computed(() => { return props.modelValue }) +// Ce composant n'édite que des champs issus de l'extraction : le survol le dit, +// pour qu'on ne confonde jamais une valeur lue dans le PDF avec une valeur déduite. +const titreSurvol = computed(() => + isEmpty.value + ? "Aucune valeur extraite du compte rendu — cliquer pour la saisir" + : 'Valeur extraite du compte rendu — cliquer pour la modifier' +) + const inputType = computed(() => { if (props.type === 'currency' || props.type === 'number') return 'number' if (props.type === 'date') return 'date'