Das Wirkprinzip im Video erklärt

Die HTML5 und Javascript Komponenten aus der BeraterApp einbinden

Basis ist die Bibliothek …/app/~marketmasterclient~/mmm.js die in die Vaadinseite eingebunden wird.
Die Bibliothek prüft bei jeden Aufruf selbsständig:

  • ob und welche Standardscriptbibliotheken (jquery, angular etc) bereits geladen wurden und lädt ggf. fehlende Dateine nach
  • ob und welche angular Module bereits aktiviert wurden und lädt Fehlende nach
  • ob in der HTML Seite bereits die erforderlichen Tags zur Darstellung der javascript-Benutzerdialoge vorhanden sind und legt sie ggf an

Für den Aufruf eines HTML5 Dialogs der BeraterApp aus einem externen Kontext exportiert mmm.js

die Methode mmm_showPopup

function mmm_showPopup(strWindow, domCallback, strJsonParam)
öffnet ein Popup-Fenster auf der bestehenden Vaadinprogrammoberfläche. Der Benutzer kann sich in dem jeweiligen Popupdialog bewegen.
Abschließend verläßt er den Dialog mit einem Resultat z.B. OK oder Abbrechen o.ä. und gibt die Kontrolle und das Ergebnis an die Vaadinprogrammoberfläche zurück.

Parameter der Funktion mmm_showPopup

  • strWindow: Name des Popupfensters
  • domCallback: ein DOM-Element mit einer exportierten Callback Funktion
    Die callback Funktion wird an diesem Element in der Form $server.fnResponse(status,strJsonParam) erwartet
  • strJsonParam: die Übergabeparameter in Form eines JSON-String

Die implementierten Fenster und ihre Parameter

  • strWindow == “vaadinTest” Status: fertig
    … zeigt einen Testdialog an, der das übergeben strJsonParam Objekt editierbar in einer Tabelle anzeigt.
    Das editierte Objekt wird im Callback als Ergebnis geliefert
  • strWindow == “offerDlg” Status: in Arbeit
    … zeigt den Dialog zur Angebots- und Auftragserfassung an.
    Aufrufparameter:
    strJsonParam = {queue_id : string, address_id : string, campaign_id : string, salesopportunity_id:string}
    (es reicht ggf. die Übergabe einer queue_id, da diese implizit auf die übrigen Informationen verweist)
    Rückgabeparameter:
    strJsonResponse = {crmorder_id:string}
    die zurückgegebene id kann auf einen Einzelauftrag oder auf ein Angebot/Auftragspaket zeigen
  • strWindow == “specialRubricAdmin” Status: nur aus Backend nutzbar
    zeigt den Dialog zur Bearbeitung SAP-Sonderthemenrubriken an
    Aufrufparameter:
    strJsonParam = {rubriclist: array}
    die bestehende Liste der SAP-Sonderthemenrubriken

Die Callbackfunktion $server.fnResponse

die Funktion $server.fnResponse(strStatus,strJsonParam) wird vom Aufrufer in Vaadin implemetiert und als DOM-Element
im Parameter domCallback in die Funktion mmm_showPopup übergeben.
Rückgabestatus:

  • ‘cancel’ – Dialog vom Benutzer abgebrochen
  • ‘commit’ – Dialog vom Benutzer mit ok/speichern beendet
  • ‘error’ – Fehler, der Dialog konnte nicht aufgerufen werden strJsonParam ={strError: “weitere Fehlerbeschrteibung”}

 

 

Programmierung Vaadin & Javascript Schnittstelle