Funktionsbausteine
Einführung
Funktionsbausteine sind Teil eines Logic Flows und bestimmen die eigentliche Logik, die der Entwickler implementieren möchte. Um sie verwenden zu können, müssen sie per Drag and Drop einem Logic Flow hinzugefügt werden.
Typen von Funktionsbausteinen
Variable
Variablen können verwendet werden, um Werte abzuspeichern und sie an anderer Stelle wieder auszulesen. Variablen können ihren Value auf zwei Wegen erhalten:
- Statisch, indem im Designer ein Wert bei "value" hinterlegt wird
- Dynamisch, indem der Wert durch einen Getter vergeben wird
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "Variable". |
| name | Name der Variable. Dieser ist wichtig, um an anderer Stelle wieder auf die Variable zugreifen zu können. Daher sollte er auch eindeutig sein |
| value | Wert, der abgespeichert werden soll. |
GetProperty
Diese Funktion kann verwendet werden, um den Wert einer Komponente auszulesen und diesen in einer Variable abzulegen. Mit den Attributen previousFunction und nextFunction kann eine Kette von Funktionen aufgebaut werden. previousFunction beschreibt immer die Funktion, die vor dieser ausgeführt wurde und nextFunction die Funktion, die nach dieser ausgeführt werden soll.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "GetProperty". |
| functionId | Name der Funktion. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| variable | Der Name der Variable, in der der auszulesende Wert abgespeichert werden soll. |
| control | Der Name der Komponente, bei der ein Wert ausgelesen werden soll. |
| property | Der Name der Eigenschaft, die bei der oben angegebenen Komponente ausgelesen werden soll. |
SetProperty
Diese Funktion kann verwendet werden, um den Wert einer Komponente zu setzen. Dieser wird aus einer Variable ausgelesen oder standardmäßig im Feld "value" hinterlegt.
Zu beachten: Ist "value" definiert UND eine Variable hinterlegt, wird die Variable bevorzugt ausgelesen. Mit den Attributen previousFunction und nextFunction kann eine Kette von Funktionen aufgebaut werden. previousFunction beschreibt immer die Funktion, die vor dieser ausgeführt wurde und nextFunction die Funktion, die nach dieser ausgeführt werden soll.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "SetProperty". |
| functionId | Name der Funktion. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| variable | Der Name der Variable, aus der der zu setzende Wert ausgelesen werden soll. |
| value | Wert, den die Eigenschaft der Komponente annehmen soll. Kann alternativ zu einer Variable verwendet werden |
| control | Der Name der Komponente, bei der ein Wert verändert werden soll. |
| property | Der Name der Eigenschaft, die bei der oben angegebenen Komponente verändert werden soll. |
IfElse
Mit dieser Kontrollstruktur kann im Mobile Builder eine Fallunterscheidung implementiert werden. Fallunterscheidungen haben immer folgende Form: LinkeVariable ? RechteVariable. ? ist ein Vergleichsoperator. Es ist also nur möglich, innerhalb einer Bedinung zwei Variablen zu vergleichen.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "IfElse". |
| functionId | Name der Fallunterscheidung. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| leftVariable | Der Name der Variable, die auf der linken Seite der Bedingung steht. |
| leftValue | Wert, der auf der linken Seite der Bedingung steht. Kann alternativ zu den Variablen benutzt werden. |
| operator | Der Vergleichsoperator, der beide Variablen miteinander vergleicht. Auswahl zwischen: "==", "!=", ">", "<", ">=", "<=", "contains", "regex" |
| rightVariable | Der Name der Variable, die auf der rechten Seite der Bedingung steht. |
| rightValue | Wert, der auf der rechten Seite der Bedingung steht. Kann alternativ zu den Variablen benutzt werden. |
| nextFunctionTrue | Die ID der nächsten auszuführenden Funktion, wenn die Bedingung wahr ist. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| nextFunctionFalse | Die ID der nächsten auszuführenden Funktion, wenn die Bedingung falsch ist. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
OpenUrl
Öffnet eine beliebige URL. Man kann außerdem wählen, ob die neue Seite im aktuellen oder in einem anderen Tab geöffnet werden soll. Dieser Funktionsbaustein kann nur am Ende einer Funktionskette stehen, denn es ist nicht möglich, eine darauffolgende Funktion zu definieren.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "OpenUrl". |
| functionId | Eindeutige ID des Funktionsbausteins. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| url | Die URL, die dieser Baustein aufrufen soll. |
| openMode | Bestimmt, in welchem Tab die URL aufgerufen wird. "_blank" öffnet einen neuen Tab. "_self" ruft die URL im aktuellen Tab auf. |
SetFocus
Setzt den Fokus auf eine beliebige Komponente.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "SetFocus". |
| functionId | Name der Fallunterscheidung. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| control | ID der Komponente, die in den Fokus gesetzt werden soll. |
ShowToast
Erstellt einen MessageToast, der dem Nutzer angezeigt wird. Der Text des MessageToasts kann entweder statisch festgelegt sein oder dynamisch durch eine Variable gegeben werden. Ist sowohl eine Variable gegeben, als auch ein Wert über die Eigenschaft "messsageText", wird die Variable vorgezogen.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "ShowToast". |
| functionId | Name der Fallunterscheidung. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| variable | ID der Variable, deren Wert im MessageToast angezeigt werden soll. |
| messsageText | Text, der im MessageToast angezeigt werden soll. |
| duration | Dauer der Anzeige des MessageToasts in Millisekunden. |
PlaySound
Spielt einen Sound von einer URL ab.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "PlaySound". |
| functionId | Name des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| variable | ID der Variable, die die URL beinhaltet, von der ein Sound abgespielt werden soll. |
| soundUrl | URL, von der ein Sound abgespielt werden soll. |
| volume | Die Lautstärke, mit dem der Ton abgespielt wird. |
| waitForEnd | Bei True: Führt die nächste Funktion des Logic Flows erst aus, wenn der Ton fertig gespielt wurde. Bei False: Führt die nächste Funktion der Kette schon aus, wenn der Ton noch nicht fertig gespielt wurde |
Delay
Verzögert die Ausführung der nächsten Funktion in der Funktionenkette. Die erwünschte Verzögerung kann dynamisch über eine Variable vergeben oder statisch über das Feld "delayMs" vergeben werden.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "Delay". |
| functionId | Name des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| variable | Id der Variable, deren Wert für die Verzögerung der nächsten Funktion (in Millisekunden) verwendet werden soll. |
| delayMs | Verzögerung der nächsten Funktion in Millisekunden. |
NavToView
Navigiert zu einer anderen Seite. Dazu muss die controlId der Seite entweder in einer Variable gespeichert werden oder im Feld "viewId" hinterlegt werden. Ist eine Variable vorhanden und eine "viewId" eingetragen, wird der Wert der Variable bevorzugt.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "NavToView". |
| functionId | Name des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| variable | Id der Variable, die die controlId der aufzurufenden View enthält. |
| viewId | ControlId der aufzurufenden View. |
SetTime
Setzt die Zeit bei einem Control. Bei einem Label kann etwa die Eigenschaft "text" überschrieben werden, sodass sie die aktuelle Uhrzeit anzeigt. Über das Feld "intervalMs" kann man außerdem das Intervall steuern, in dem die Uhrzeit aktualisiert werden soll (in Millisekunden). Zu beachten: Diese Funktion kann nicht Teil einer Kette sein und keinen Vorgänger oder Nachgänger haben.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "SetTime". |
| functionId | Name des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| control | Die Id der Komponente, bei der eine Eigenschaft mit der Uhrzeit überschrieben werden soll. |
| property | Die Eigenschaft der Komponente, deren Wert mit der Uhrzeit überschrieben werden soll. |
| intervalMs | Legt das Intervall fest, in dem die anzuzeigende Uhrzeit aktualisiert werden soll. |
| timeFormat | Legt das Format der anzuzeigenden Uhrzeit fest. Wählbare Optionen sind: "HH:mm:ss", "HH:mm", "hh:mm a", "HH:mm:ss.SSS", "ISO" |
Concat
Konkateniert zwei Strings. Dazu müssen beide Strings als Eingabe übergeben werden, die Ausgabe wird in einer Variable abgespeichert.
| Attribut | Beschreibung |
|---|---|
| controlType | Der Typ des Controls. Hier standardmäßig "Concat". |
| functionId | Name des Funktionsbausteins. Dieser wird später benötigt, um eine Kette von Funktionen aufzubauen, daher sollte er eindeutig sein. |
| previousFunction | Der Name der Funktion, die vor dieser ausgeführt wird. "Start" bedeutet, dass dieser Baustein der erste in der Kette ist. |
| nextFunction | Der Name der Funktion, die nach dieser ausgeführt wird. "End" bedeutet, dass dieser Baustein der letzte in der Kette ist. |
| variable | Die ID der Variable, in der die Ausgabe gespeichert werden soll |
| firstPart | Die ID der Variable, deren Value konkateniert und in der Ausgabe links stehen soll. |
| secondPart | Die ID der Variable, deren Value konkateniert und in der Ausgabe rechts stehen soll. |
| separator | Hier kann ein String festgelegt werden, der die erste Eingabe von der zweiten trennt |