Skip to Content

DynamicUi

Rendert dynamische Formulare basierend auf UserTask-FormField-Definitionen. Unterstützt 25+ Feldtypen und Custom Fields.

Beispiel

'use client'; import { DynamicUi } from '@5minds/processcube_app_sdk/client'; export default function TaskForm({ task }) { return ( <DynamicUi task={task} onSubmit={async (result, rawFormData, task) => { console.log('Ergebnis:', result); }} title="Aufgabe bearbeiten" /> ); }

Datenfluss

Props

PropTypPflichtBeschreibung
taskUserTaskInstanceJaDie User Task mit FormField-Definitionen
onSubmit(result, formData, task) => Promise<void>JaSubmit-Handler
headerComponentJSX.ElementNeinCustom Header über dem Formular
classNamestringNeinCSS-Klasse für den Root-Container
classNamesPartial<Record<'wrapper' | 'base' | 'header' | 'body' | 'footer', string>>NeinCSS-Klassen für Unterelemente
titleReactNodeNeinTitel des Formulars
customFieldComponentsDynamicUiFormFieldComponentMapNeinCustom-Renderer für Feldtypen
stateFormStateNeinExterner Formular-State
onStateChange(newValue, formFieldId, formState) => voidNeinCallback bei Wertänderung
darkModetrueNeinDark-Mode aktivieren

Unterstützte Feldtypen

Boolean, Checkbox, Color, Date, Datetime-Local, Decimal, Email, Enum, File, Header, Hidden, Integer, Month, Paragraph, Password, Radio, Range, Select, Confirm, String, Tel, Textarea, Time, URL, Week, Custom

Custom Fields

Über customFieldComponents können eigene Renderer für bestimmte Feldtypen registriert werden:

<DynamicUi task={task} onSubmit={handleSubmit} customFieldComponents={{ 'my-custom-field': ({ field, value, onChange }) => ( <input type="text" value={value} onChange={(e) => onChange(e.target.value)} /> ), }} />

CSS

CSS wird beim Import der Komponente automatisch geladen.