Vai al contenuto

Classica e adattamento V3 — 12 settembre 2026

Compila presenta il selettore V3 / Classica sopra il documento. La scelta agisce solo sulla presentazione degli stessi componenti: nessun cambio di endpoint, nuova istanza documento o ricaricamento. Il nodo del campo in modifica, la sezione e le foto restano in memoria. La preferenza è locale al browser e all'origine; non viene registrata sul profilo del tecnico. Il parametro facoltativo ?vista=classic oppure ?vista=v3 prevale sulla preferenza all'apertura.

Classica riprende dal pack legacy larghezza di 1320px, proporzioni della colonna sezioni, schede arrotondate, numerazione e palette. Non è una copia pixel per pixel del legacy: comandi, editor, finestre e funzioni restano quelli V3. Il link Apri legacy conserva l'accesso al compilatore storico, distinto dalla nuova presentazione. La preferenza tema chiaro/scuro/automatico resta separata dalla vista.

Correzioni responsive

  • Contenitore limitato alla larghezza disponibile, senza traslazione rispetto al viewport.
  • Altezza della barra sticky misurata con ResizeObserver, così i titoli delle sezioni non finiscono sotto la barra quando va a capo.
  • Azioni espandibili con Comandi sotto 1181px o con altezza massima 700px. Menu e ritorno rimangono accessibili.
  • Barra non sticky su telefoni o schermi poco alti; sezioni comprimibili a tutta larghezza, filtri separati dal titolo e finestre limitate al viewport.
  • Griglia dei dati tecnici del libretto adattabile senza sette colonne minime obbligatorie.
  • Ripristino dell'icona Salva dopo il salvataggio: la funzione precedente conservava solo il testo vuoto del bottone SVG e lasciava “Salvo…” nel pulsante. Ora conserva il markup originale del controllo.

Verifiche

  • 94 test Python Compila/runtime/mobile/trasporto passati.
  • 13 suite JavaScript passate; suite editor ripetuta dopo la correzione del bottone.
  • Chromium reale, template e script reali, API simulate su dati sintetici: V3 e Classica a 1920×1080, 1366×768, 1024×768, 820×650, 768×1024, 390×844 e 320×568. Nessun elemento visibile oltre la larghezza del viewport nei casi verificati.
  • Verificati campo modificato durante cambio vista, identità del nodo conservata, salvataggio successivo, icona ripristinata, preferenza dopo reload, rispetto sola lettura, libretto su schermi piccoli, tema scuro e assenza di errori JavaScript.
  • Test ripetibile in tests/browser/compila_layout_smoke.py; Playwright installato solo in /tmp/compila-browser, senza modificare le dipendenze applicative. Screenshot in /tmp/compila-layout-screenshots.
  • Il test sintetico non dimostra l'identità grafica 1:1 con il legacy né copre tutte le combinazioni di schede, allegati e contenuti reali.
  • Rilasciato tramite riavvio safeops-web.service. Dopo il riavvio: pagine Cassioli 633 e Orano 825 HTTP 200 con selettore e versione corretta; i quattro asset aggiornati rispondono 200 e coincidono con i file verificati; login anonimo 200. Controlli di produzione esclusivamente GET, senza salvataggi di risposte o modifiche agli incarichi.

Helper e governance

Guida contestuale nel Menu → Vista e aggiornamento del manuale tecnico. Nessuna migrazione dati.

change_summary: selettore V3/Classica, presentazione Classica, correzioni responsive e ripristino icona Salva
user_impact: cambio vista immediato e comandi adattati a schermi piccoli
roles_impacted: tecnici e profili gia autorizzati a Compila
surfaces_impacted: Compila V3 e anteprima Easy Builder
behavior_change: preferenza grafica locale; azioni espandibili; campi mantenuti durante il cambio
permission_change: nessuna
operator_action_required: scegliere facoltativamente la vista; aprire Comandi su schermi piccoli
helper_impact: helper_update_required
helper_content_type: context_helper
release_severity: L2
helper_ready_for_release: true
block_release: false
block_reason: nessuno; guida contestuale e manuale aggiornati

Review: impatto helper e severity coerenti, nessun aggiornamento helper mancante. Backup dei file preesistenti in /home/safeops/tmp/compila_classic_20260912/; la working tree contiene anche altri lavori, quindi evitare ripristini globali.