IstruttoriaPratica.js: - previewDialog esteso con entityType/entityId (non piu solo filename) - openPreview/closePreview/doDownload rimpiazzano openPreview/downloadStub stub - Dialog placeholder 'anteprima simulata' rimosso, sostituito con <FilePreviewDialog/> - Bottoni anteprima/scarica in fatture/ULA/documenti usano gli endpoint reali (disabled se !storage_path) - Nuovi bottoni 'Anteprima verbale' (HTML tab) e 'Scarica verbale PDF' nella toolbar per status in UNDER_REVIEW/AWAITING_AMENDMENT/APPROVED/REJECTED - downloadVerbale/openVerbaleHtml helpers PraticaRendicontazioneEdit.js: - previewDialog state + openPreview/closePreview - updateInvoiceFile/updateUlaFile/updateDocFile: aggiornano lo stato locale dopo upload/delete senza full reload pagina - ensureDocRecord: auto-crea RemissionDocument (via upsertDocument con filename=null) prima dell'upload cosi FileUploadCell ha un entityId valido - Colonne 'Allegato' nelle DataTable fatture/ULA ora renderizzano <FileUploadCell/> con onPreview/onChange wired - Sezione documenti: FileUploadCell per record esistenti, bottone 'Carica' per record non ancora creati - Modal fattura: rimosso campo 'Nome file PDF (simulato)', infobox post-save guida al caricamento dalla tabella - Modal dipendente: rimosso campo 'Nome file allegato (simulato)', infobox analogo - <FilePreviewDialog/> montato in chiusura Test JSX: @babel/parser OK su entrambi i file. Webpack ricompila hot-reload.
47 KiB
47 KiB