Timeline Event

Pattern canonico per trasformare gli eventi del cantiere in una cronologia che racconta che cosa è successo, senza esporre il modello tecnico sottostante.

Quando usare una timeline

Usa una timeline per raccontare in ordine temporale cambiamenti già avvenuti nel lavoro: aggiornamenti, richieste, decisioni, pagamenti documentati e passaggi del ciclo di vita.

Non usarla come work queue o come audit log. La timeline risponde a “che cosa è successo?”; le superfici operative indicano invece che cosa deve fare l’utente adesso.

Una sola fonte per il significato

Nel Workspace la funzione presentTimelineEvent produce titolo, descrizione, attore, data, tono, sezione e dettagli già leggibili. Le viste devono renderizzare quell’output: non ricostruiscono copy o significato a partire dai dati salvati. Sirio mostra output fissi verificati, non contiene un secondo mapper di dominio.

Struttura minima e gerarchia

Il significato principale viene prima; provenienza e dettagli lo sostengono senza competere con il titolo.

Titolo
Dice subito che cosa è successo con una frase umana e specifica.
Descrizione
Aggiunge il significato dell’evento senza ripetere il titolo.
Attore
Nomina la persona o la parte che ha agito, quando il dato è disponibile e utile.
Data e ora
Usa il formato italiano leggibile e un elemento time con valore machine-readable.
Dettagli
Mostra soltanto informazioni che cambiano la comprensione, come importo o stato presentato.

Eventi supportati

Gli specimen riprendono titoli, descrizioni e formatter del presenter reale del Workspace. I contenuti sono dimostrativi e non provengono dal runtime prodotto.

  1. Aggiornamento lavori

    Completata la posa sul lato nord.

    Titolo:
    Avanzamento facciata
    Marco Rossi
  2. Chiarimento richiesto

    È stato richiesto un chiarimento sul cantiere.

    Richiesta:
    Confermare la data prevista per la consegna
    Cliente
  3. Modifica proposta

    È stata presentata una proposta di modifica.

    Azienda
  4. Pagamento richiesto

    È stata inviata una richiesta di pagamento documentata.

    Importo:
    1.250,00 €
    Azienda
  5. Riepilogo iniziale confermato

    Il cliente ha confermato il riepilogo iniziale del cantiere.

    Cliente

Dettagli con progressive disclosure

Lascia sempre visibili evento e conseguenza. Un dettaglio secondario può essere espandibile quando è lungo o raro; un importo o uno stato essenziale resta invece immediatamente leggibile.

  1. Lavoro pronto per la conferma

    Il lavoro dello step è pronto per la conferma del cliente.

    Stato precedente:
    In corso
    Nuovo stato:
    Lavoro completato, da confermare
    Marco Rossi

Fallback per eventi non riconosciuti

Il fallback non prova a interpretare dati sconosciuti e non li espone. Mantiene attore e data quando sono disponibili, usa tono neutro e rimanda alle sezioni pertinenti del cantiere.

  1. Aggiornamento del cantiere

    È stato registrato un aggiornamento. I dettagli sono disponibili nelle sezioni pertinenti del cantiere.

    Autore non disponibile

Responsive e accessibilità

La cronologia deve conservare ordine e significato senza dipendere da colore, icone, hover o colonne.

  • Rendi la cronologia una lista ordinata e ogni evento un elemento con un heading coerente con la pagina.
  • Mantieni titolo, descrizione, attore e data nell’ordine DOM in cui devono essere letti.
  • Le icone nei marcatori sono decorative quando il titolo comunica già il significato e restano nascoste agli screen reader.
  • Se un evento è raggiunto da un deep link, rendi il contenitore focalizzabile solo quando serve e assicurati che il focus resti visibile.
  • Su viewport stretti impila i dettagli, consenti il ritorno a capo e non troncare testo, data o focus ring.
  • La cronologia non è un live region: annuncia un nuovo evento soltanto se l’aggiornamento avviene in tempo reale e richiede attenzione immediata.

Errori da evitare

La fedeltà all’evento non richiede di mostrare il formato in cui è stato salvato.

  • Renderizzare direttamente dati tecnici o serializzare il contenuto salvato.
  • Usare il colore o un’icona come unica spiegazione del tipo o dell’esito.
  • Trasformare ogni dettaglio disponibile in metadato visibile, anche quando non aiuta a capire l’evento.
  • Nascondere titolo o conseguenza principale dentro un pannello espandibile.
  • Inventare attori, esiti, verifiche o conseguenze che i dati dell’evento non dimostrano.