Crud Tables

CRUD Tables

Componenti tabella per l'amministrazione di board, fasi, priorità, tag e template.

Panoramica

I componenti *CrudTable forniscono interfacce di amministrazione complete per le entità dello schema fasi. Ognuno include tabella con paginazione, pulsante "Nuovo", dialogs per crea/modifica e conferma eliminazione.

Tutti i componenti usano internamente useCrudTable con il repository corrispondente.

Componenti disponibili

ComponenteEntitàChiave primaria
BoardCrudTableBoard (fasi.board)idboard
FaseCrudTableFasi pipeline (fasi.fase)idfase
PrioritaCrudTablePriorità (fasi.priorita)idpriorita
TagCrudTableTag schede (fasi.tag)idtag
StatoSchedaCrudTableStati schedaidstatoscheda (solo modifica)
TemplateEmailCrudTableTemplate emailidtemplateemail
TemplateSmssCrudTableTemplate SMSidtemplatesms
BoardCampoCrudTableCampi dinamiciidboardcampo

Utilizzo tipico

<script setup lang="ts">
import { FaseCrudTable } from '@pzeta/vue-kanban'
</script>

<template>
  <FaseCrudTable :board-id="boardId" />
</template>

Props comuni

PropTipoDescrizione
boardIdnumberFiltra gli elementi per board (obbligatorio per la maggior parte dei componenti)

FaseCrudTable — props aggiuntivi

PropTipoDefaultDescrizione
boardIdnumberBoard di riferimento
showWiplimitbooleantrueMostra colonna WIP limit
showGiornistallobooleantrueMostra colonna giorni stallo

BoardCampoCrudTable — TipoCampo

I campi dinamici supportano i seguenti tipi:

ValoreDescrizione
textTesto libero
textareaTesto lungo
numberNumero
dateData
booleanCheckbox
selectSelezione da lista

Per tipocampo: 'select' è possibile configurare le opzioni tramite:

  • opzioni: array statico [{ label, value }]
  • opzioni_url + opzioni_label + opzioni_value: endpoint dinamico

StatoSchedaCrudTable

StatoSchedaCrudTable non permette la creazione di nuovi stati (sono stati di sistema). Supporta solo la modifica di nome, colore, icona e ordine degli stati predefiniti (incorso, pronto, bloccato, fatto, annullato).

Pagina di amministrazione completa

<template>
  <TabView>
    <TabPanel header="Fasi">
      <FaseCrudTable :board-id="boardId" />
    </TabPanel>
    <TabPanel header="Priorità">
      <PrioritaCrudTable :board-id="boardId" />
    </TabPanel>
    <TabPanel header="Tag">
      <TagCrudTable :board-id="boardId" />
    </TabPanel>
    <TabPanel header="Campi">
      <BoardCampoCrudTable :board-id="boardId" />
    </TabPanel>
    <TabPanel header="Template Email">
      <TemplateEmailCrudTable />
    </TabPanel>
    <TabPanel header="Stati">
      <StatoSchedaCrudTable />
    </TabPanel>
  </TabView>
</template>