Componenti Ui

ElementCard

Card predefinita per schede con priorità, tag, scadenza e campi dinamici.

Panoramica

ElementCard è la card di default usata da KanbanFasiBoard. Visualizza i dati di una SchedaKanban in modo leggibile con supporto a priorità, tag, assegnatario, scadenza, contatori e campi dinamici da dati_extra.

Anteprima live

Props

PropTipoDefaultDescrizione
itemRecord<string, unknown>Oggetto scheda (SchedaKanban o compatibile)
campiBoardCampoRow[][]Configurazione campi dinamici per dati_extra
actionsActionItem[][]Voci del menu contestuale (tre puntini)
showTagsbooleantrueMostra badge tag
showActionsbooleantrueMostra menu contestuale
showAssigneebooleantrueMostra assegnatario
showDueDatebooleantrueMostra data scadenza
showPrioritybooleantrueMostra badge priorità

Emits

EventoPayloadDescrizione
viewitemClic sull'area della card
edititemClic su "Modifica" nel menu
deleteitemClic su "Elimina" nel menu
addActivityitemClic su "Aggiungi attività"
addAttachmentitemClic su "Aggiungi allegato"
addCommentitemClic su "Aggiungi commento"
manageTagsitemClic su "Gestisci tag"

Campi dinamici (dati_extra)

ElementCard legge i campi dinamici da due fonti con precedenza:

  1. inject('boardCampi') — iniettato da KanbanFasiBoard via provide
  2. prop campi — fallback se non si usa KanbanFasiBoard

Mostra solo i campi con attivo: true e con valore non vuoto in dati_extra. I valori di tipo date sono formattati in it-IT, i boolean vengono mostrati come "Sì"/"No".

Priorità

Il badge priorità accetta sia oggetti annidati (item.priorita) sia campi flat da v_schede_kanban (item.priorita_nome, item.priorita_colore). Se il colore hex è valorizzato viene usato direttamente, altrimenti cade su severity PrimeVue basata sul nome.

Scadenza

Se item.datascadenza è nel passato l'indicatore diventa rosso con animazione pulse.

Utilizzo come card personalizzata

<KanbanFasiBoard board-id="crm" :current-user-id="userId">
  <template #item="{ item }">
    <ElementCard
      :item="item"
      :show-priority="false"
      :show-assignee="false"
      :actions="[
        { label: 'Dettaglio', icon: 'pi pi-eye', command: () => openDetail(item) }
      ]"
      @view="openDetail"
    />
  </template>
</KanbanFasiBoard>