Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core workflow 3.0


Workflow 3.0 - UI-Bibliothek

Stellt Hilfsfunktionen bereit, um im Kontext der Workflow-UI den aktuellen Benutzer und dessen Beziehung zu einem Workflow-Token zu prüfen. Typische Anwendungsfälle sind:

Die Bibliothek laden

let ui = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sc);

Die Bibliothek wird über die Factory-Funktion sc geladen, die eine neue Instanz der Bibliothek erzeugt, die an den übergebenen session controller gebunden ist.

Funktionen

Funktion Beschreibung Beispiel
isAdministrator() Prüft, ob der aktuelle Benutzer ein Workflow-Administrator ist.

Rückgabe: true oder false

Anwendungsfall: Workflow-Administratoren dürfen in der UI bestimmte Aktionen ausführen, die normalen Benutzern nicht zur Verfügung stehen, etwa das Übernehmen beliebiger Tokens oder das Einsehen aller laufenden Prozesse.
let ui = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sc);

if (ui.isAdministrator()) {
  // Administratorspezifische Aktionen
}
isUi(variables) Prüft, ob der aktuelle Workflow-Schritt eine UI-Interaktion erfordert.

variables
Die Workflow-Variablen des Tokens.

Rückgabe: true oder false

Anwendungsfall: In der Oberfläche soll unterschieden werden, ob ein Schritt eine Benutzereingabe erwartet (z. B. ein Formular) oder ob er automatisch verarbeitet wird. Nur bei UI-Schritten werden etwa Schaltflächen zum Speichern oder Weiterleiten angezeigt.
let ui = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sc);

if (ui.isUi(token.variables)) {
  // UI-Elemente anzeigen
}
hasAcquired(variables) Prüft den Übernahmestatus des aktuellen Benutzers für diesen Schritt.

variables
Die Workflow-Variablen des Tokens.

Rückgabe:
  • true – der aktuelle Benutzer hat diesen Schritt übernommen
  • false – ein anderer Benutzer hat diesen Schritt übernommen
  • undefined – kein Benutzer hat diesen Schritt übernommen
Anwendungsfall: In der Workflow-Oberfläche soll angezeigt werden, ob der aktuelle Benutzer ein Token bereits übernommen hat. Nur wenn hasAcquired den Wert true liefert, darf der Benutzer das Token bearbeiten und weiterleiten.
let ui = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sc);

let acquired = ui.hasAcquired(token.variables);
if (acquired === true) {
  // Benutzer hat Token übernommen
} else if (acquired === false) {
  // Anderer Benutzer hat Token übernommen
} else {
  // Noch niemand hat Token übernommen
}
isAssigned(variables) Prüft, ob der aktuelle Benutzer dem Token zugewiesen ist.

variables
Die Workflow-Variablen des Tokens.

Rückgabe: true oder false

Anwendungsfall: In der Workflow-Oberfläche soll geprüft werden, ob der aktuelle Benutzer für die Bearbeitung eines Tokens zuständig ist. Dies umfasst sowohl die direkte Zuweisung als auch eine bereits erfolgte Übernahme.
let ui = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sc);

if (ui.isAssigned(token.variables)) {
  // Benutzer ist zugewiesen
}
mayAcquire(variables) Prüft, ob der aktuelle Benutzer das Token übernehmen darf.

variables
Die Workflow-Variablen des Tokens.

Rückgabe: true oder false

Anwendungsfall: In der Workflow-Oberfläche soll die Schaltfläche „Übernehmen“ nur dann angezeigt werden, wenn der aktuelle Benutzer das Token auch tatsächlich übernehmen darf. Vertreter können so bei Abwesenheit des eigentlichen Bearbeiters einspringen.
let ui = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sc);

if (ui.mayAcquire(token.variables)) {
  // Schaltfläche "Übernehmen" anzeigen
}
sc(sessionController) Factory-Funktion, die eine neue Instanz der Bibliothek erzeugt, die an den übergebenen session controller gebunden ist.

sessionController
Der session controller, mit dem die Bibliothek arbeiten soll.

Rückgabe: Eine neue Instanz der ui-Bibliothek.

Anwendungsfall: Die Bibliothek muss immer über sc() initialisiert werden, bevor die anderen Funktionen verwendet werden können. Der session controller bestimmt, welcher Benutzer für die Prüfungen herangezogen wird.
// Laden mit dem session controller des aktuellen Benutzers
let ui = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sc);

// Laden mit dem administrativen session controller
let uiAdmin = require('/agorum/roi/customers/acworkflow/js/common/ui').sc(sca);