Hinweis: Dieses Tutorial gilt nur für die
klassische Benutzeroberfläche (Aktionen in Rich-Formularen und Aktionslinks)
und funktioniert (noch) nicht für moderne Formulare und moderne Listenaktionen.
Im unten angehängten
CustomActionShared.zip Archiv befinden sich zwei Dateien:
•
sbExecuteCustomLogicConfiguration.txt
• sbExecuteCustomLogic.js
1) Laden Sie sbExecuteCustomLogicConfiguration.txt in Site Assets/sbSharedAction
hoch.
2) Erstellen Sie in der Dokumentbibliothek
Site Assets im Ordner sbSharedActions
den Ordner sbExecuteCustomLogic
mit dem Unterordner Scripts.
3) Laden Sie sbExecuteCustomLogic.js in sbExecuteCustomLogic/Scripts
hoch.
Es gibt einen Stub in sbExecuteCustomLogicExecutor in
sbExecuteCustomLogic.js:
Platzieren Sie einfach Ihren benutzerdefinierten Code in
diesem Funktionstext.
Erweiterte Konfiguration
Wenn Sie eine erweiterte Konfiguration für Ihre benutzerdefinierte Aktion im
Action Builder haben möchten, wie in den sofort einsatzbereiten
Teamsware-Aktionen, befolgen Sie bitte die nächsten Schritte. Im Skript finden
Sie die für die Aktion konfigurierte Message-Eigenschaft. Es ist möglich,
weitere Eigenschaften hinzuzufügen und ihnen Werte oder Ausdrücke zuzuweisen.
1) Vorlage bereitstellen. In diesem Schritt ist es
notwendig, das HTML-Template mit den Eingaben und Bindings für die
Eigenschaften zu setzen. (Weitere Informationen zu Vorlage und Bindungen finden
Sie unter
https://knockoutjs.com/).
Suchen Sie im sbExecuteCustomLogic.js
nach
CustomActionConfigVM.prototype.LoadTemplate:
- In der Vorlage gibt es eine Tabellenzeile (<tr>),
die die Eingabe für die Eigenschaft darstellt.- Auch das data-bind-Attribut gibt
die Bindung dieser Eingabe an die Message-Eigenschaft an.- this.
MapPropertyToObservable('Message'); - legt die Bindungslogik fest.
2) So stellen Sie die Auswertung der Eigenschaften in CustomActionExecutor.prototype.ExecuteAction
bereit:
- Geben Sie alle Eigenschaftsnamen im props-Array an. Die Namen der
Eigenschaften sollten mit den im vorherigen Schritt angegebenen identisch
sein.- evaluatedValues – Objekt, in dem alle ausgewerteten
Eigenschaftswerte gespeichert werden. Jetzt ist es möglich, den Wert mithilfe
der evaluatedValues["PROPERTY_NAME"]-Syntax abzurufen und als
Parameter an die Funktion
CustomActionExecutor.prototype.ExecuteActionInternal zu übergeben. Sie können die Anzahl der
Argumente dieser Funktion ändern, um sie an Ihre festgelegten Eigenschaften
anzupassen, oder das gesamte Objekt übergeben und dann über ["PROPERTY_NAME"]
im Funktionstext auf Eigenschaften zugreifen, um Ihre benutzerdefinierte
Logik auszuführen.