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.

Struktur Funktionsaufruf
{
  "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.

Struktur Funktionsergebnis
{
  "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": {}
}

Keywords: