Composables
useBoardEvents
Composable per aggiornamenti realtime via NATS (OQ-004 — in sviluppo).
Panoramica
useBoardEvents gestisce la connessione NATS per ricevere aggiornamenti realtime sulla board. La feature è attualmente in sviluppo (OQ-004) — la connessione NATS è uno stub che verrà completato.
Inizializzazione
import { useBoardEvents } from '@pzeta/vue-kanban'
const events = useBoardEvents(boardId, {
onSchedaSpostata: () => fasiService.loadFasiData(),
onSchedaCreata: () => fasiService.loadSchede(),
onSchedaAggiornata: () => fasiService.loadSchede(),
onSchedaEliminata: () => fasiService.loadSchede(),
})
Metodi
| Metodo | Descrizione |
|---|---|
connect() | Avvia la connessione NATS |
disconnect() | Chiude la connessione |
Attivazione in KanbanFasiBoard
<KanbanFasiBoard
board-id="crm"
:current-user-id="userId"
:enable-realtime="true"
/>
Con enableRealtime: true, KanbanFasiBoard chiama connect() al mount dopo il caricamento iniziale.
Subject NATS
Gli eventi vengono pubblicati sul subject board.events.{idboard} da node-postgrest-sidecar che si mette in ascolto su pg_notify 'board_events'.
BoardEventMessage
interface BoardEventMessage {
tipo: 'scheda_spostata' | 'scheda_aggiornata' | 'scheda_creata' | 'scheda_eliminata' | 'assegnatario_cambiato'
idboard: number
payload: {
idscheda: number
idfasecorrente: number
idfaseorigine?: number // solo scheda_spostata
idfasedestinazione?: number // solo scheda_spostata
idassegnatario?: number | null // solo assegnatario_cambiato
datacambio: string // ISO 8601
idutente: number
}
}
Stato attuale (OQ-004)
- La struttura dei tipi è completa
- La connessione WebSocket/NATS è da completare
- Usare con
enableRealtime: false(default) in produzione fino al completamento di OQ-004