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
DynamicFormLayoutsche renderizza l'intero form a partire da uno schema, e i suoi wrapper (Dialog, Drawer, DrawerWithTable). - Wrapper thin — semplici wrapper di componenti
@pzeta/vue-componentsche 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
| Componente | Descrizione |
|---|---|
| DynamicFormLayouts | Form dinamico schema-driven con validation on-blur, layout normal/tabs/wizard/accordion, tracking dirty/valid |
| DynamicFormDialog | Dialog modale con DynamicFormLayouts integrato |
| DynamicFormDrawer | Drawer laterale con auto-fetch del record per modifica |
| DynamicFormDrawerWithTable | Drawer + DataTable + form CRUD completo |
| DynamicFormListDialog | Dialog con lista di record esistenti + form di aggiunta inline (collezione embedded, no data fetching) |
| FormSection | Sezione 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
| Tipo | Componente | Categoria |
|---|---|---|
text | InputText | Basic |
email | InputText | Basic |
number | InputNumber | Basic |
textarea | Textarea | Basic |
password | Password | Basic |
checkbox | Checkbox | Selection |
select | Select | Selection |
multiselect | MultiSelect | Selection |
listbox | Listbox | Selection |
treeselect | TreeSelect | Selection |
switch | ToggleSwitch | Toggle |
toggle | ToggleButton | Toggle |
selectbutton | SelectButton | Toggle |
date | DatePicker | Advanced |
color | ColorPicker | Advanced |
rating | Rating | Advanced |
slider | Slider | Advanced |
mask | InputMask | Advanced |
autocomplete | AutoComplete | Advanced |
int4range | Int4RangeInput | Advanced |
interval | IntervalInput | Advanced |
signature | SignatureInput | Special |
Componenti con logica propria
| Tipo | Componente | Categoria | Note |
|---|---|---|---|
hidden | HiddenInput | Basic | Custom — nessuna UI |
radio | RadioGroup | Selection | Custom — rendering automatico da array |
icon | IconSelect | Advanced | Custom — set PrimeIcons + categorizzazione |
tiptap | TiptapEditor | Editor | Custom — Tiptap lazy + toolbar + output HTML/JSON/MD |
address | AddressAutocompleteInput | Special | Custom — searchFn/getDetailsFn per provider esterni |
barcode | BarcodeScanner | Special | Custom — BarcodeDetector API |
camera | CameraCapture | Special | Custom — getUserMedia + base64 |
selectremote | SelectRemote | Remote | fetchFn + filtri dinamici |
listboxremote | ListboxRemote | Remote | fetchFn + raggruppamento |
radioremote | RadioGroupRemoteInput | Remote | fetchFn + filtri dinamici |
treeremote | TreeRemote | Remote | fetchFn<TreeNode> + selezione single/multiple/checkbox |
inplaceselect | InplaceSelectRemote | Remote | Editing in-place + caricamento lazy |
orderlist | OrderListRemote | Remote | Drag-and-drop + evento reorder |
picklist | PickListRemote | Remote | Doppia 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
| Componente | Descrizione |
|---|---|
| FormSectionRow | Componente interno usato da DynamicFormLayouts per il rendering delle righe |