UI Nodes Referenz
Die ProcessCube® UI Nodes erweitern die Dashboard-2-Bibliothek um spezialisierte Oberflaechenkomponenten. Sie basieren auf Dashboard-2 und fuegen sich nahtlos in bestehende Dashboard-Layouts ein.
Dynamic Form
Zeigt dynamische Formulare an, die auf Basis von UserTask-Konfigurationen oder JSON-Schema generiert werden. Ideal fuer die Darstellung von UserTask-Formularen im Dashboard.
Eigenschaften:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| Group | UI Group | Dashboard-2-Gruppe, in der das Formular angezeigt wird |
| Size | Number | Breite des Formulars in Grid-Einheiten |
| Label | String | Ueberschrift des Formulars |
Input (msg):
| Property | Typ | Beschreibung |
|---|---|---|
msg.payload | Object | UserTask-Daten mit Formularkonfiguration |
msg.schema | Object | JSON-Schema fuer die Formularfelder (alternativ) |
msg.ui_update | Object | Dynamische Aktualisierung einzelner Felder |
Output (msg):
| Property | Typ | Beschreibung |
|---|---|---|
msg.payload | Object | Vom Benutzer eingegebene Formulardaten |
Beispiel:
// UserTask-Daten fuer die Dynamic Form aufbereiten
msg.schema = {
type: "object",
properties: {
name: {
type: "string",
title: "Name des Antragstellers"
},
email: {
type: "string",
format: "email",
title: "E-Mail-Adresse"
},
amount: {
type: "number",
title: "Betrag in EUR",
minimum: 0
},
approved: {
type: "boolean",
title: "Genehmigt"
}
},
required: ["name", "email", "amount"]
};Typischer Flow:
[usertask-input] → [function: Daten aufbereiten] → [ui-dynamic-form]
↓
[usertask-output] ← [function: Ergebnis formatieren] ← [ui-dynamic-form Output]Dynamic Table
Zeigt Daten in einer interaktiven Tabelle mit Sortierung, Filterung und Pagination an. Geeignet fuer die Anzeige von Prozessinstanzen, UserTask-Listen oder beliebigen Datensaetzen.
Eigenschaften:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| Group | UI Group | Dashboard-2-Gruppe |
| Size | Number | Breite der Tabelle in Grid-Einheiten |
| Label | String | Ueberschrift der Tabelle |
| Columns | Array | Spaltendefinitionen |
| Pagination | Boolean | Seitennavigation aktivieren |
| Page Size | Number | Eintraege pro Seite |
Input (msg):
| Property | Typ | Beschreibung |
|---|---|---|
msg.payload | Array | Datensaetze fuer die Tabelle |
msg.columns | Array | Spaltendefinitionen (optional, ueberschreibt Konfiguration) |
Output (msg):
| Property | Typ | Beschreibung |
|---|---|---|
msg.payload | Object | Ausgewaehlte Zeile |
msg.action | String | Ausgefuehrte Aktion (z.B. “select”, “delete”) |
Beispiel:
// Daten fuer die Dynamic Table
msg.payload = [
{ id: 1, name: "Bestellung #1001", status: "In Bearbeitung", datum: "2025-01-15" },
{ id: 2, name: "Bestellung #1002", status: "Abgeschlossen", datum: "2025-01-16" },
{ id: 3, name: "Bestellung #1003", status: "Warte auf Freigabe", datum: "2025-01-17" }
];
msg.columns = [
{ key: "id", title: "ID", width: "80px" },
{ key: "name", title: "Bezeichnung" },
{ key: "status", title: "Status" },
{ key: "datum", title: "Datum", width: "120px" }
];UI Page Navigation
Ermoeglicht die programmgesteuerte Navigation zwischen Dashboard-2-Seiten. Nuetzlich, um nach Abschluss eines UserTasks automatisch zur naechsten Seite weiterzuleiten.
Eigenschaften:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| Group | UI Group | Dashboard-2-Gruppe |
| Target Page | String | Zielseite fuer die Navigation |
Input (msg):
| Property | Typ | Beschreibung |
|---|---|---|
msg.page | String | Pfad der Zielseite (z.B. “/dashboard/auftraege”) |
msg.params | Object | URL-Parameter (optional) |
Beispiel:
// Nach UserTask-Abschluss zur Uebersicht navigieren
msg.page = "/dashboard/auftraege";
msg.params = { status: "completed" };
return msg;Audio Capture
Nimmt Audio im Browser auf und sendet die Aufnahme als Message weiter. Ermoeglicht Voice-Input in Dashboard-Anwendungen.
Eigenschaften:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| Group | UI Group | Dashboard-2-Gruppe |
| Size | Number | Breite des Aufnahme-Widgets |
| Format | String | Audioformat (z.B. “wav”, “webm”) |
| Max Duration | Number | Maximale Aufnahmedauer in Sekunden |
Output (msg):
| Property | Typ | Beschreibung |
|---|---|---|
msg.payload | Buffer | Audio-Daten im konfigurierten Format |
msg.format | String | Audioformat der Aufnahme |
msg.duration | Number | Dauer der Aufnahme in Sekunden |
Beispiel-Flow:
[ui-audio-capture] → [function: Audio verarbeiten] → [http request: Sprache-zu-Text API]
↓
[ui-text: Transkription anzeigen] ← [function: Ergebnis aufbereiten]Process Progress Bar
Zeigt den Fortschritt eines BPMN-Prozesses visuell an. Die Node stellt den aktuellen Schritt im Prozess dar und hebt abgeschlossene sowie aktive Schritte hervor.
Eigenschaften:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| Group | UI Group | Dashboard-2-Gruppe |
| Size | Number | Breite der Fortschrittsanzeige |
| Label | String | Ueberschrift |
Input (msg):
| Property | Typ | Beschreibung |
|---|---|---|
msg.payload | Object | Prozessinstanz-Daten mit Fortschrittsinformationen |
msg.payload.currentStep | String | Aktueller Schritt im Prozess |
msg.payload.steps | Array | Alle Schritte des Prozesses |
Beispiel:
// Prozessfortschritt an die Progress Bar senden
msg.payload = {
processName: "Bestellfreigabe",
steps: [
{ name: "Bestellung eingegangen", status: "completed" },
{ name: "Pruefung", status: "completed" },
{ name: "Genehmigung", status: "active" },
{ name: "Versand", status: "pending" },
{ name: "Abgeschlossen", status: "pending" }
]
};Allgemeine Hinweise
Dashboard-2-Abhaengigkeit
Alle UI Nodes benoetigen eine installierte und konfigurierte Dashboard-2-Instanz. Die Konfiguration erfolgt ueber die Dashboard-2-Einstellungen im Node-RED-Editor.
Responsive Design
Die UI Nodes unterstuetzen das responsive Grid-Layout von Dashboard-2. Definieren Sie die Breite in Grid-Einheiten, und das Layout passt sich automatisch an verschiedene Bildschirmgroessen an.
Weiterführende Informationen
- Dashboard-2 Dokumentation — Offizielle Dashboard-2-Docs
- Portal — Portal-Anwendungen mit UI Nodes erstellen
- Engine Nodes Referenz — Engine-Integration