---
suivi: 1798
date: 2026-10-07
sujet: Vitesse du tableau des avis d'imposition
chantier: patrimoine
type: correctif
statut: poussé
hash: f2c833ea
fichiers:
  - resources/js/Pages/Foncier/Patrimoine/AvisImposition/Index.vue
  - resources/js/Components/Foncier/InlineEditableField.vue
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - tests/Unit/AvisImposition1798SourceTest.php
  - public/build/
  - docs/suivi/SUIVI_1798_avis_imposition_vitesse.md
---

# SUIVI #1798 — avis d'imposition, édition au clic

Fiches lues : #1797 (le coût est le rendu des ~6 200 éditeurs, pas le SQL), #1438 (garder le défilement horizontal, ne pas masquer le débordement), #1435 (le PATCH reste `{ champ, valeur }`).

## PROMPT ENVOYÉ

Afficher les cellules en texte. N'ouvrir l'éditeur qu'au clic, un seul à la fois. Différer les filtres texte de 300 ms. Recalculer filtre, tri et totaux une fois par changement. Pas de pagination.

## Mapping

Inchangé. Libellé de la cellule → corps JSON `{ "champ": "<colonne>", "valeur": <texte, nombre, date ou null> }` → `AvisImposition::validerPatchInline` puis historique.

## SYNTHÈSE

À l'ouverture, aucune instance d'éditeur n'est montée (avant : une par champ, environ 6 200). Le clic, Entrée ou F2 sur une cellule sélectionnée monte l'éditeur, avec le même enregistrement. Échap annule, Entrée ou la sortie du champ enregistre, Tab passe au champ suivant de la ligne. Sans droit de modification, le clic ne monte rien.

Après enregistrement, seule la valeur de la ligne change. Les totaux sont recalculés une fois si le champ est un montant. Les filtres texte partent 300 ms après la dernière frappe. Filtre, tri et totaux sont mémorisés à ce moment-là. Le tableau n'est pas rechargé. Les documents restent des métadonnées. Pas de pagination. Le défilement horizontal est celui de #1438.

## DÉPLOIEMENT-TEST

git pull origin main
php artisan view:clear
php artisan journal:sync

Pas de migration.

1. Ouverture : le tableau s'affiche plus vite (mesure F12).
2. Clic → éditeur. Entrée enregistre. Échap annule. Tab passe à la cellule suivante.
3. Un montant modifié met à jour le total. L'historique de la ligne reçoit la modification.
4. Frappe dans un filtre : pas de gel, résultat après une courte pause.
5. Ajout, suppression, document, récap, historique, Excel et PDF : inchangés.
6. Compte en lecture seule : aucun éditeur au clic.

## LEÇON

Un DataTable qui monte un composant d'édition par cellule repeint tout à chaque frappe. Le texte simple et un seul éditeur suffisent tant que le PATCH reste le même. `lazy` évite que le tableau recalcule filtre et tri tout seul à chaque saisie.
