Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core workflow 3.0 > Workflows anhand von Beispielen entwickeln
Mit dem folgenden Workflow zeigen Sie Texte im UI abhängig von zuvor definierten Parametern (Variablen und Werten) an.
Der Workflow besteht aus folgenden Knoten:
Diese Dokumentation beschreibt die Anlage und Parameter / Werte jedes Knotens. Anschließend folgt eine Beschreibung der Funktionsweise jedes Knotens, damit Sie verstehen, welche Aufgaben der jeweilige Knoten erfüllt und wie er im abgebildeten Workflow funktioniert.
Hinweis: Bei allen nachfolgend aufgeführten Bezeichnungen / Variablen / Werten handelt es sich um Beispiele. Sie müssen diese Beispiele nicht 1:1 übernehmen, sondern können eigene Bezeichnungen / Variablen / Werte verwenden.
Im 1. Schritt erstellen Sie den Knoten set.
Im Knoten befüllen Sie folgende Parameter:
myWorkspace.customerType
Hinweis: Das System legt die Variablen automatisch an, sofern sie nicht vorhanden sind.
Premiumkunde
Hinweis: Bei dem hier gesetzten Wert handelt es sich um einen festen Wert. Dieser ändert sich nicht dynamisch. Beispiele für das dynamische Setzen von Werten siehe Dokumentation des Knotens.
Im 2. Schritt erstellen Sie den Knoten UI.
Im Knoten befüllen Sie folgende Parameter:
let aguila = require('common/aguila'); // Create form for workflow step. // This sample contains some common elements, feel free to use or remove them let form = aguila.create({ type: 'agorum.composite.form.basic', labelPosition: 'top', elements: [ // buttons { type: 'agorum.spacer', height: 24 }, { type: 'agorum.hbox', items: [ // buttons on left side { type: 'agorum.composite.form.element.button', name: 'cancel', text: '_acmsg:cancel=Abort', icon: 'aguila-icon cancel' }, { type: 'agorum.spacer', flexible: true }, // buttons on right side { type: 'agorum.composite.form.element.button', name: 'ok', text: '_acmsg:ok=Ok', icon: 'aguila-icon check' } ] } ] }); // Listen for actions on the widget form.on('action', action => { // find out, which button has been pressed // and leave the ui node through the associated outlet switch (action.name) { case 'ok': // the form has to be valid, before the ui can be left through the "ok"-outlet if (form.validate()) { form.fire('leave', 'ok'); } break; case 'cancel': // when cancel is pressed, leavel to "cancel"-outlet without validation form.fire('leave', 'cancel'); break; } }); // sample for accessing variables // all token variables are available in the form value form.on('valueChanged', value => { let title = null; switch(form.value.myWorkspace.customerType) { case "Standardkunde": title = "Lieber Kunde, <...>"; break; case "Premiumkunde": title = "Lieber Premium-Kunde, <...>"; break; case "Partner": title = "Lieber Partner, <...>"; break; default: title = "Sehr geehrte Damen und Herren, <...>"; } // customize the title of the form form.set('title', title); }); form;
Alternativ und vor allem bei komplexen Workflows mit mehreren Variablen verwenden Sie anstelle des set-Knotens idealerweise einen Skript-Knoten mit etwa folgendem Skript, bezogen auf das obige Beispiel:
/* global sc, sca, token, instance, outlets, inlet, parameters */ token.variables.myWorkspace = { customerType: 'Premiumkunde' }; // Send the token through the default outlet token.leave('');