Submit - Formularversand
Der Submit ist eine Aktion, die das aktuelle Formular an das Backend-System überträgt.
Ein Submit wird üblicher Weise vom Benutzer über einen Button ausgelöst.
Voraussetzung
-
Eine submitUrl wurde in der Konfiguration angegeben.
Response-Format
Der Server muss die Antwort in dem richtigen Format zurückschicken, damit das Formular aktualisiert werden kann. Die Antwort muss im Form eines JSON-Objektes sein, welches folgende Attribute enthält:
result
Ergibnis der Datenverarbeitung im Backend-System.
Mögliche Werte sind: success
, failure
Folgende Atributte gelten nur für die erfolgreiche Rückmeldung. Die Rückmeldung im Fehlerfall können beliebig weitere Attribute enthalten, um auf den Fehler hinzuweisen, diese werden alle in der Oberfläche angezeigt. |
action
Einige Aktionen können ausgeführt werden, wenn die Anfrage erfolgreich am Backend-System verarbeitet wurden. Mögliche Aktionen sind:
-
setFormConfig: das aktuelle Formular in der Oberfläche wird ersetzt.
-
setFormState: die States des aktuelle Formular werden aktualisiert.
-
downloadFile: eine Datei wird beim Anwender heruntergeladen.
-
multiActions: mehrere Aktionen, welche in diesem Abschnitt beschrieben werden, können bei einer Response ausgeführt werden.
Beispiele
setFormConfig
-
formConfig
: enthält die Definition des neuen Formulars
{
"result": "success",
"action": "setFormConfig",
"data": {
"formConfig": {
"metaData": {
"id": -1,
"name": "Extended Form",
"version": 1,
"author": "Quan"
},
"configuration": {
"defaultLanguage": "de"
},
"components": [
{
"type": "container",
"layout": "vertical",
"label": "New Form",
"components": [
{
"type": "textfield",
"id": "textFeld",
"label": "Text Field"
}
]
}
],
"state": {
"data": {}
}
}
}
}
setFormState
-
state
: enthält die neuen States des Formulars. Die neue States werden mit den aktuellen States zusammengeführt.
{
"result" : "success",
"action" : "setFormState",
"data" : {
"state" : {
"address" : {
"company": "Virtimo AG",
"street": "Behrenstraße",
"number": 18,
"city": "Berlin",
"country": "Germany"
}
}
}
}
downloadFile
{
"result": "success",
"action": "downloadFile",
"data": {
"fileName" : "testfile.xml",
"mimeType": "application/xml",
"base64Encoded": true,
"data": "PG1zZz4KPGNvbnRlbnQ+SGVsbG8gV29ybGQ8L2NvbnRlbnQ+CjwvbXNnPg=="
}
}
{
"result": "success",
"action": "downloadFile",
"data": {
"fileName" : "testfile.txt",
"data": "Hello World"
}
}
multiActions
{
"result": "success",
"action": "multiActions",
"data": [
{
"action" : "setFormState",
"data" : {
"state" : {
"address" : {
"company": "Virtimo AG",
"street": "Behrenstraße",
"number": 18,
"city": "Berlin",
"country": "Germany"
}
}
}
},
{
"action": "downloadFile",
"data": {
"fileName" : "testfile.xml",
"mimeType": "application/xml",
"base64Encoded": true,
"data": "PG1zZz4KPGNvbnRlbnQ+SGVsbG8gV29ybGQ8L2NvbnRlbnQ+CjwvbXNnPg=="
}
}
]
}