Uscendo dalla scheda il prompt di salvataggio non compariva e il pulsante
"Salva" restava nascosto, perche' IsDirty non vedeva il lavoro fatto:
- gli articoli scelti dalla griglia (OpenSelectArt) non marcavano mai la
scheda come modificata;
- ValueComparer confronta solo i campi del form, quindi ogni RecalcDirty()
successivo azzerava il flag alzato con forceTrue da scanner e allegati.
Non bastava confrontare Articoli: Clone() e' un MemberwiseClone, quindi
_originalScheda condivide la stessa lista.
Ora il confronto usa uno snapshot dei barcode preso all'apertura piu' un
flag per gli allegati (che vivono in AttachedList fino al salvataggio), e
RecalcDirty() perde forceTrue: non puo' piu' essere azzerato. Le chiamate
su insert/remove degli articoli erano anche fatte prima della modifica
della lista, quindi valutavano lo stato precedente.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Il MudTextField delle note ha DebounceInterval e non rifletteva una modifica
del Value fatta da codice. Aggiunta una @key sul campo che, incrementata
quando si applica il suggerimento, forza Blazor a ricreare il campo con la
nota selezionata gia impostata: la nota compare subito a video.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Ispezione:
- Stato sync visibile: badge per-scheda (Da inviare/Inviato) e contatore
"N da inviare" per reparto (nuovo SchedaSyncHelper)
- Completamento: progresso reale nell'overlay + spunta di successo;
NON completa se una scheda fallisce (resta editabile, schede "Da inviare")
- Export reparto/completamento blindati: conferma + guardia anti doppio-tap,
try/finally che libera sempre l'overlay
- Accento corallo unico per l'azione "invia"; target di tocco >=44px;
empty state; solo il primo pannello espanso di default
- Tasto "Invia" nascosto sulle schede gia inviate
- Messaggio d'errore comprensibile in campo (dettaglio tecnico nei log)
- Fix OnSchedaModified (index >= 0)
Aspetto card:
- SchedaCard e InspectionCard: superficie Carta + hairline border + ombra
morbida (nuovo token --card-box-shadow); pagina con tinta Grigio Campo
- SchedaCard compattata
Form scheda (ModalFormScheda):
- Tasto Salva/Aggiorna full-width
- Fix "Suggerisci note descrittive": la nota selezionata ora viene inserita
nel campo (metodo async sul thread UI + OnAfterChangeValue)
StatusEnum: etichette in sentence-case
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>