Eingebetteter Modus (iFrame)
Der Render kann über einen iFrame in andere Applikationen eingebettet und darüber gesteuert werden. Für die Kommunikation mit dem Renderer im iFrame kommt Window.postMessage zum Einsatz. Alle Funktionen senden ebenfalls Antworten über diesem Weg an die Anwendung, die den Renderer per iFrame einbettet.
Funktionsaufruf
Als message Parameter wird ein serialisiertes JSON Objekt übertragen.
action-
Name der aufzurufenden Funktion.
payload-
Je nach Aktion wird über dieses Attribut ein Parameterobjekt angegeben, dass weitere Daten enthält.
sourceId-
Frei wählbare ID. Diese wird bei der Übermittlung des Funktionsergebnisses als
destinationIdübermittelt. Damit kann der Aufrufer das Ergebnis eindeutig zuordnen.
{
"action" : "METHOD_NAME",
"sourceId": "SOURCE_ID",
"payload" : {
"_comment": "optional object depending on method"
}
}
Funktionsergebnis
Das Ergenis des Funktionsaufrufes wird asynchron über Window.postMessage an die einbettende Seite übermittelt.
{
"success" : "SUCCESS_OF_ACTION",
"action" : "METHOD_NAME",
"destinationId" : "SAME_AS_SOURCE_ID",
"response" : {
"_comment": "optional response object"
}
}
Funktionen
Alle im Forms-Kontext gültigen Aktionen können verwendet werden. Beispielsweise:
{
"action" : "setFormState",
"payload" : {
"data" : { "welcomeMsg" : "Dies ist eine neue Nachricht" }
}
}
Mit der Antwort, dass die Funktion erfolgreich aufgerufen werden konnte:
{
"success" : true,
"action" : "setFormState",
"destinationId" : "*",
"response": {}
}