Components

Tutti i tipi di input disponibili nel sistema form — basic, selection, toggle, advanced, editor, remote e special.

Organizzazione

I componenti del sistema form sono divisi in tre gruppi:

  • Form principale — il componente DynamicFormLayouts che renderizza l'intero form a partire da uno schema, e i suoi wrapper (Dialog, Drawer, DrawerWithTable).
  • Wrapper thin — semplici wrapper di componenti @pzeta/vue-components che aggiungono solo le 5 props standard del form (label, helperText, error, disabled, required). Documentati in modo compatto in un'unica pagina: WrapperFields.
  • Componenti con logica propria — custom (rendering automatico, BarcodeDetector API, getUserMedia, ecc.), Remote (logica fetchFn + filtri dinamici) e compositi/interni. Ognuno ha pagina dedicata.

Form principale

ComponenteDescrizione
DynamicFormLayoutsForm dinamico schema-driven con validation on-blur, layout normal/tabs/wizard/accordion, tracking dirty/valid
DynamicFormDialogDialog modale con DynamicFormLayouts integrato
DynamicFormDrawerDrawer laterale con auto-fetch del record per modifica
DynamicFormDrawerWithTableDrawer + DataTable + form CRUD completo
DynamicFormListDialogDialog con lista di record esistenti + form di aggiunta inline (collezione embedded, no data fetching)
FormSectionSezione con header (titolo/sottotitolo/icona), layout vertical/horizontal/grid e collassabilità — esportato per layout custom
Forma raccomandata: oggetto literal. Scrivi lo schema come { sections: [...] } — è il formato canonico e diff-friendly. Gli helper fluenti field, row, section, form sono un'alternativa opzionale per casi specifici (campi base riusabili, molte select inline con la stessa struttura): vedi Schema builders per criteri di scelta.

Tipi di input

Wrapper thin → vedi WrapperFields

TipoComponenteCategoria
textInputTextBasic
emailInputTextBasic
numberInputNumberBasic
textareaTextareaBasic
passwordPasswordBasic
checkboxCheckboxSelection
selectSelectSelection
multiselectMultiSelectSelection
listboxListboxSelection
treeselectTreeSelectSelection
switchToggleSwitchToggle
toggleToggleButtonToggle
selectbuttonSelectButtonToggle
dateDatePickerAdvanced
colorColorPickerAdvanced
ratingRatingAdvanced
sliderSliderAdvanced
maskInputMaskAdvanced
autocompleteAutoCompleteAdvanced
int4rangeInt4RangeInputAdvanced
intervalIntervalInputAdvanced
signatureSignatureInputSpecial

Componenti con logica propria

TipoComponenteCategoriaNote
hiddenHiddenInputBasicCustom — nessuna UI
radioRadioGroupSelectionCustom — rendering automatico da array
iconIconSelectAdvancedCustom — set PrimeIcons + categorizzazione
tiptapTiptapEditorEditorCustom — Tiptap lazy + toolbar + output HTML/JSON/MD
addressAddressAutocompleteInputSpecialCustom — searchFn/getDetailsFn per provider esterni
barcodeBarcodeScannerSpecialCustom — BarcodeDetector API
cameraCameraCaptureSpecialCustom — getUserMedia + base64
selectremoteSelectRemoteRemotefetchFn + filtri dinamici
listboxremoteListboxRemoteRemotefetchFn + raggruppamento
radioremoteRadioGroupRemoteInputRemotefetchFn + filtri dinamici
treeremoteTreeRemoteRemotefetchFn<TreeNode> + selezione single/multiple/checkbox
inplaceselectInplaceSelectRemoteRemoteEditing in-place + caricamento lazy
orderlistOrderListRemoteRemoteDrag-and-drop + evento reorder
picklistPickListRemoteRemoteDoppia lista source/target
Alias deprecati: LookupListboxInput e LookupComboBoxInput sono alias deprecati rispettivamente di ListboxRemote e SelectRemote (re-export dello stesso modulo, mantenuti per retrocompatibilità). Non hanno un proprio type nello schema — usa listboxremote / selectremote.

Componenti interni

ComponenteDescrizione
FormSectionRowComponente interno usato da DynamicFormLayouts per il rendering delle righe