Tipi

CodStatoScheda

Enum degli stati possibili per una scheda Kanban.

Definizione

type CodStatoScheda = 'incorso' | 'pronto' | 'bloccato' | 'fatto' | 'annullato'

Semantica

ValoreSignificatoNote
incorsoLavoro in corsoStato di partenza default
prontoPronto per il passo successivoSegnale al team upstream
bloccatoBloccato da dipendenza esternaVisibile in rosso nella progress bar
fattoCompletato positivamenteContribuisce all'avanzamento
annullatoAnnullatoNon conta come completamento

Gli stati sono di sistema — i codici non possono essere aggiunti o rimossi. Solo i metadati di visualizzazione (nome, colore, icona, ordine) sono configurabili tramite StatoSchedaCrudTable.

Colori e label predefiniti

const COLORI_STATO_SCHEDA: Record<CodStatoScheda, string> = {
  incorso: '#3b82f6',    // blue-500
  pronto: '#10b981',     // emerald-500
  bloccato: '#ef4444',   // red-500
  fatto: '#22c55e',      // green-500
  annullato: '#6b7280',  // gray-500
}

const LABEL_STATO_SCHEDA: Record<CodStatoScheda, string> = {
  incorso: 'In corso',
  pronto: 'Pronto',
  bloccato: 'Bloccato',
  fatto: 'Fatto',
  annullato: 'Annullato',
}

Utilizzo nei filtri

// Filtra schede per stato in una fase specifica
const schedePronte = fasiService.schede.value.filter(
  s => s.idfase === idFase && s.codstatoscheda === 'pronto'
)

FaseHeader usa CodStatoScheda per il filtro colonna tramite filterByStato. Cliccando un segmento della FaseProgressBar si attiva il filtro per quello stato nella colonna.

Aggiornamento stato scheda

await fasiService.aggiornaScheda(idScheda, {
  codstatoscheda: 'pronto',
})

Lo stato non cambia automaticamente allo spostamento tra fasi — rimane il valore impostato esplicitamente. La fase finale (fase.finale: true) non imposta automaticamente fatto: è compito del consumer o di un trigger PostgreSQL.