1.3 Events

1.3 Events

Allgemeines

Die Events des enaio® webclient lassen sich dahingehend unterscheiden, ob sie objekttypspezifisch oder global ausgeführt werden.

Globale Events

Mit Einführung von Version 9.00 SR5 wurde ein globales Event hinzugefügt, welches das Verhalten des Webclient direkt nach der Anmeldung steuern lässt:

Eventname

Verfügbar ab

Beschreibung

AfterWebClientLogin

9.00 SR5

Das AfterWebClientLogin-Event wird ausgeführt nachdem der Benutzer sich am enaio® webclient über das Gateway angemeldet hat und bevor  enaio® webclient final dargestellt wird. In dem Skript zu diesem Event kann der Skripter Objekttypen entfernen und somit für den gegebenen Nutzer unzugänglich machen, oder dem Nutzer gänzlich den Zugang zu enaio® webclient verwehren. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion damit enaio® webclient weiterarbeiten kann.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio webclients erreichbar.

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • data - Das Data-Objekt beinhaltet folgende Parameter:

    • users - Ein Array mit allen DMS-Benutzern

    • groups - Ein Array mit allen DMS-Gruppen

    • roles - Ein Array mit allen Rollen des aktuellen Nutzers

    • session - Ein Objekt mit allen relevanten session-Informationen

    • objectTypesToIgnore - Ein Array, das man als Skripter mit internen Namen von Objekttypen befüllen kann, um Objekttypen in enaio® webclient auszublenen.
      Alternativ kann man die ObjectTypeId verwenden, wobei darauf zu achten ist, dass interne Namen transportfähig sind und ObjectTypeIds nicht!

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events exisitiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

Bsp. 1 - Objekttypen ausblenden:

Objekttypen entfernen

data.objectTypesToIgnore = ["iKunde", "internalVertrag", "17"]; done();

Es ist relativ einfach Objekttypen auszublenden, indem man dem Objekt "objectTypesToIgnore" ein Array an Werten zuweist, die der Nutzer nicht sehen darf. Sollte eine der ObjectTypes zu einem Schrank gehören, werden zusätzlich alle dem Schrank untergeordneten Objekttypen ebenfalls ausgeblendet. Der Nutzer hat danach keine Möglichkeit mehr auf diese Objekttypen zuzugreifen. Weder im Desktop, noch über gespeicherte Anfragen, Workflow-Akten oder Einsprungszenarien aus Drittsystemen.

data.objectTypesToIgnore akzeptiert hierbei ausschließlich Strings für die ObjectTypeIds oder den internen Namen der Objekttypen.

Bsp. 2 - Zutritt zu enaio® webclient verwehren:

Zutritt verwehren

if(data.session.username == "BOB"){ done(-1, "I don't like Bob anymore!") }else{ done() }

Mit dem Returncode -1 signalisiert man, dass der Nutzer den enaio® webclient nicht nutzen darf. Optional kann man der "done" Funktion eine Zeichenkette übergeben, die den Grund beinhaltet, warum der Nutzer nicht mit enaio® webclient arbeiten darf.

Die optionale Meldung erscheint auf dem Bildschirm und der Nutzer hat die Möglichkeit sich erneut anzumelden oder einen anderen Account zu verwenden.

Rückgabewerte:

  • -1 - Abbruch des Startvorgangs des enaio® webclients - optional eine Beschreibung warum

  •  0 - Die Aktion wird ausgeführt

 

Objekttypspezifische Events

Einige Eventskripte werden in enaio® webclient asynchron ausgeführt.

Asynchrone Events sind:

DMS

Workflow

OnShow

BeforeOpen

BeforeCancel

BeforeCancel

BeforeOpen

 

BeforeValidate

BeforeForward

AfterSave

 

AfterValidate

 

BeforeDelete

 

AfterDelete

 

Um die Skriptausführung eines asynchronen Eventskriptes zu beenden, muss die Funktion done aufgerufen werden.
Wird das Skript ohne Aufruf der Funktion done beendet, so arbeitet der enaio® webclient nicht weiter. Dies wirkt sich z. B. bei 'OnShow' einer Indexdatenmaske dahingehend aus, dass die Indexdatenmaske nicht dargestellt wird. Beim Workflow-Event 'BeforeForward' würde der Workflow nicht weitergeleitet werden.

Funktion

Beschreibung

done

Löst das Promise der Skriptfunktion auf. enaio® webclient setzt seine Ausführung fort.

Optionaler Parameter:

Parameter

Beschreibung

resultCode

Bestimmt den weiteren Verlauf der oben aufgelisteten Events nach Beendigung des Skriptes. Mögliche Werte 1 und 0. Standard ist 1. Der Wert 1 oder das Weglassen des Parameters signalisiert, dass alles in Ordnung ist und z. B. beim Skript 'BeforeSave' das DMS-Objekt gespeichert werden kann. Ein abweichender Wert (z.B. -1) verhindert hingegen das weitere Vorgehen, sodass z. B. das DMS-Objekt nicht gespeichert wird und der Benutzer weiterhin auf dem DMS-Formular bleibt. Nachfolgend im Detail beschriebene Events haben ggf. abweichende result codes.

Beispiel:

done({resultCode});

Warten auf asynchrone Ausführung

Oftmals kommt es vor, dass ein Vorgang angestoßen wird und die done-Funktion des Eventhandlers erst aufgerufen werden soll, wenn der asynchrone Vorgang abgeschlossen ist.
Nachfolgend wird hierfür ein Beispiel gegeben.

Beispiel:

var promise = new Promise(function(resolve, reject) { var search = { query: { objectTypeId: "6488101", osid: "7882" } }; formHelper.dms.search(search).then(function(result) { resolve(result); }, function(error) { reject(error); }); }); promise.then(function(result) { alert("Erfolgreich"); done(1); }, function(error) { alert("Fehlerhaft"); done(0); });

Im oben aufgeführten Codebeispiel wird zu Beginn ein Javaskript Promise erzeugt. Die Funktion innerhalb des Promise beinhaltet den asynchronen Ladevorgang. In diesem Fall eine ECM-Suche in enaio®. Unterhalb des ersten Blocks, der den asynchronen Ladevorgang beinhaltet findet sich ein promise.then, welcher zwei Funktionen als Parameter entgegen nimmt. Wird nun innerhalb des Blockes des asynchronen Ladevorganges die resolve-Funktion aufgerufen, so wird die erste Funktion des promise.then aufgerufen. Wird die reject-Funktion im Block aufgerufen so wird passend dazu die zweite Funktion des promise.then aufgerufen. Die done-Funktion wird somit erst aufgerufen, wenn der asynchrone Ladevorgang samt Ergebnisverarbeitung vollendet worden ist.

Warten auf mehrere asynchrone Ausführungen

Soll auf mehrere parallele asynchrone Vorgänge gewartet werden, so bietet sich die Promise.all-Funktion von Javaskript an.

Beispiel:

var search = { query: { objectTypeId: "6488101", osid: "7882" } }; var promise1 = new Promise(function(resolve, reject) { formHelper.dms.search(search).then(function(result) { resolve(result); }, function(error) { reject(error); }); }); var promise2 = new Promise(function(resolve, reject) { formHelper.dms.search(search).then(function(result) { resolve(result); }, function(error) { reject(error); }); }); Promise.all([promise1, promise2]).then(function(resultArray) { alert("Alle Promises waren erfolgreich"); done(1); }, function(error) { alert("Mindestens ein Promise wurde rejected"); done(0); });

Über Promise.all kann auf alle asynchron gestarteten Vorgänge gewartet werden. Die erste Funktion von Promise.all wird aufgerufen, sobald alle asynchronen Vorgänge erfolgreich abgeschlossen wurden und bei all diesen die resolve-Funktion aufgerufen wurde. Als Parameter wird ein Array zurückgeliefert. Jedes Element entspricht einem Ergebnis eines der asynchronen Ladevorganges. Schlägt hingegen einer der asynchronen Vorgänge fehl und wird dessen reject-Funktion aufgerufen, so wird die zweite Funktion von Promise.all aufgerufen.

Events

Alle Events für den enaio® webclient verfügen mindestens über folgende Parameter:

  • formHelper

  • globals

  • scriptingStorage (9.00-SR4)

Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar. Auf den Parameter formHelper wird in den nachfolgenden Kapiteln detailliert eingegangen. Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

Der scriptingStorage  ist ein Objekt, das in allen Events existiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen. Es steht ab enaio WebClient 9.00 SR4 zur Verfügung.

Beispiel:
(function(formHelper, globals, scriptingStorage) { globals.globalEventFunction(); scriptingStorage.tmp = "data for another script"; alert("Event fired..."); });

Neben den Parametern 'formHelper' ,'globals' und dem 'scriptingStorage'  stehen in enaio® webclient für folgende Events zusätzliche Parameter zur Verfügung. Dabei ist zu beachten, dass in Abhängigkeit vom Eventtyp das Script entweder objekttyp- oder feldspezifisch definiert werden kann.

Objekttypspezifische Events mit weiteren Parametern

Eventname

Verfügbar ab

Beschreibung

OnShow

8.50

Das OnShow-Event wird ausgeführt, wenn der Nutzer ein Formular öffnet. Der Skripter hat in dem Skript die Möglichkeit, die anzuzeigenden Formularfelder und Werte zu verändern. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events exisitiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

  • userAction (ab 9.00 SR8) - Die userAction gibt an, welche Aktion dazu geführt hat, dass das Formular geöffnet wurde. Mögliche Werte sind:

    • doubleclick - Öffnung via Standardaktion bei Doppel-bzw. Einfachklick

    • singlehit - Öffnung via Single Hit Action

    • contextmenu - Öffnung über das Kontextmenü (Indexdaten anzeigen / bearbeiten)

    • entry - Öffnung via entry.do

    • script - Öffnung durch ein Clientskript

    • search - Öffnung in einer Suche / Kombinierten Suche

    • wcf - Öffnung via WCF-Schnittstelle im Desktopclient

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

Rückgabewerte:

  • 2 - (ab 9.00 SR8) Das Öffnen des Formulars wird abgebrochen, aber der User kehrt nicht zum vorherigen State zurück. Dies ist generell nur sinnvoll, wenn man im Skript manuell in einen anderen State springt.

  • 1  - Das Formular wird geöffnet.

  • 0  - Das Öffnen des Formulars wird abgebrochen und der User kehrt zum vorherigen state zurück.

BeforeStartQuery

9.00 SR5

Das BeforeStartQuery-Event wird ausgeführt, nachdem der Nutzer eine Suchform ausgefüllt hat und diese abschickt. Das Event wird auch für den Quickfinder, aber nicht für gespeicherte Suchen ausgeführt. Der Skripter hat in dem Skript die Möglichkeit, die erstellte Suchanfrage des Users anzupassen. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion damit enaio® webclient weiterarbeiten kann.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • query - Der query-Parameter enthält die Suchanfrage des Benutzers. Das Format des query-Objekts entspricht der appconnector-Anfrage (/documents/search). Das query-Objekt kann direkt bearbeitet werden und wird ja nach Rückgabewert für die Suche verwendet.

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events exisitiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

Bsp. 1 - Feldwert ändern:

Feldwert ändern

let fields = query.query.fields; if (fields.title == void 0) {     fields.titel = { internalName: "title" }; } // Keep in mind, that you have to set autostars manually, if you script a field value in the script. fields.title.value = "my favorite title*"; done();

Rückgabewerte:

  • 1  - Die Suche wird mit der im Skript geänderten Suchanfrage ausgeführt.

  • 0  - Die Suche wird mit der originalen Suchanfrage ausgeführt. Im Skript durchgeführte Änderungen werden nicht beachtet.

  • -1 - Die Suche wird nicht ausgeführt und der Nutzer kehrt zur Suchform zurück.

  • -2 - Die Suche wird nicht ausgeführt. Die Suche wird komplett abgebrochen und der Benutzer landet in dem State, indem er sich vor der Sucheform-Bearbeitung befunden hat. Im Falle des Quickfinders wird der Quickfinder Dialog geschlossen.

  • Alle anderen Werte entsprechen der Aktion für 1

BeforeCancel

 

Das BeforeCancel-Event ermöglicht die Ausführung einer Aktion, nachdem ein Formular verlassen wurde.

Dem Eventhandler wird der boolesche Wert isSave übergeben. Der Wert gibt an, ob das Skript aufgerufen wurde, weil das Formular gespeichert oder abgebrochen werden soll.

Beispiel:

(function(formHelper, globals, scriptingStorage, isSave, done) { alert("BeforeCancel"); done(); });

BeforeOpen (DMS)

9.00 SR5

Das BeforeOpen-Event ermöglicht es, das Öffnen von Ordner, Registern oder Inhalten von Dokumenten zu verhindern oder eine weitere Logik auszuführen (z.B. Standortwechsel). Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion, damit enaio® webclient weiterarbeiten kann.

Das Event wird in folgenden Fällen ausgelöst:

  • Öffnen von Ordnern/Registern durch Doppelklick oder das Kontextmenü

  • Navigation im Standortbaum

  • Bearbeiten von Inhalt

  • Auslösung einer Single Hit Action, sofern diese einen Ordner/ein Register öffnet oder Inhalt bearbeitet

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • objectId - ID des Objekts

  • objectTypeId - ID des Objekttyps

  • done - Die Funktion die aufgerufen werden muss, um dem enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events existiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

Bsp. 1 - Öffnen von Register mit Feld "einregister = block" verhindern:

Feldwert ändern

(async () => { const doc = await formHelper.dms.searchById(objectId) if (doc.model.fields.einregister == "block") { done(0); } else if (doc.model.fields.einregister == "noredirect") { done(-2); } else { done(-1); } })();

Rückgabewerte:

  • 0  - Es wird die Standardaktion im Webclient ausgeführt

  • -1  - Die vom Nutzer initiierte Aktion wird nicht ausgeführt. In manchen Fällen (z.B. Entry-Aktion) findet eine automatische Navigation auf das Dashboard statt.

  • -2 - Die vom Nutzer initiierte Aktion wird nicht ausgeführt. Es findet zusätzlich keine etwaige automatische Aktion statt, die einen konsistenten Zustand herbeiführt. Dies ist insbesondere nützlich, wenn im Rahmen eine Entry-Aktion eine Weiterleitung erfolgen soll, da diese ansonsten vom automatischen Sprung zum Dashboard überschrieben werden könnte.

BeforeValidate

AfterValidate

 

Das AfterValidate-Event wird ausgeführt, nachdem die Indexdaten validiert worden sind. Vor dem Absenden des Formulars ist es an dieser Stelle möglich, noch Änderungen vorzunehmen, welche nicht durch die Validierung geprüft werden. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion damit der WebClient weiterarbeiten kann.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events existiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

Rückgabewerte:

  • 2 - Das Formular wird mit den im Script veränderten Indexdaten abgeschickt (ab 9.10 SR1)

  • 1 - Das Formular wird mit den ursprünglichen Indexdaten abgeschickt

  • 0 - Die Aktion wird abgebrochen

AfterSave

8.50

Das AfterSave-Event wird ausgeführt, nachdem die Indexdaten erfolgreich gespeichert worden sind. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion damit der WebClient weiter arbeiten kann.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events existiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

OnAddLocation

9.00 SR5

Das OnAddLocation-Event wird ausgeführt, bevor der Nutzer zu einem Dokument einen weiteren Standort hinzufügt. Der Skripter hat in dem Skript die Möglichkeit, diesen Vorgang zu unterbinden. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion, damit der WebClient weiterarbeiten kann.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • done - Die Funktion, die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events existiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

  • scriptData - Im scriptData Objekt befinden sich folgenden Informationen über den aktuellen Vorgang

    • dmsDocument - Das aktuelle Dokument, das der Nutzer versucht zu verschieben

      • Hinweis: Aktuell wird aus historischen Gründen das Model eines DMS-Dokuments ausgegeben. Zwecks Migration auf eine konsistente Struktur werden zusätzlich model und api eines DMS-Dokuments hinzugefügt (Details siehe A.03 DMS Dokument).
        Beachten Sie bitte, dass mit einer Versionen > 10.10 die historische Variante "Model eines DMS-Dokuments" abgekündigt und ausgebaut wird.

    • currentParent - Der Aktuelle Standort, an dem das Dokument liegt

    • targetParent - Der Standort, an den das Dokument verschoben werden soll

Achtung: Im scriptData-Objekt kann es vorkommen, dass der currentParent nicht angegeben wurde den Wert "null" hat. Das kann passieren wenn der Nutzer ein Dokument aus einer Trefferliste, einem Workflow oder dem Desktop in die Zwischenablage kopiert. Sollte es dazu kommen, ist es Aufgabe des Skripters, die Standorte des Dokuments selbst herauszufinden.

Rückgabewerte:

  • -1 - Die Aktion wird abgebrochen. Dem Nutzer wird keine Benachrichtigung gegeben warum. Der Skripter hat die Möglichkeit, einen eigenen Toaster per formHelper zu zeigen

  • 0 - Die Aktion wird ausgeführt

OnCreateCopy

9.00 SR5

Das OnCreateCopy-Event wird ausgeführt, bevor der Nutzer von einem Dokument eine Kopie anlegt. Der Skripter hat in dem Skript die Möglichkeit, diesen Vorgang zu unterbinden. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion damit enaio® webclient weiterarbeiten kann.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • done - Die Funktion, die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events existiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

  • scriptData - Im scriptData Objekt befinden sich folgenden Informationen über den aktuellen Vorgang

    • dmsDocument - Das aktuelle Dokument, das der Nutzer versucht zu verschieben

      • Hinweis: Aktuell wird aus historischen Gründen das Model eines DMS-Dokuments ausgegeben. Zwecks Migration auf eine konsistente Struktur werden zusätzlich model und api eines DMS-Dokuments hinzugefügt (Details siehe A.03 DMS Dokument). 
        Beachten Sie bitte, dass mit einer Versionen > 10.10 die historische Variante "Model eines DMS-Dokuments" abgekündigt und ausgebaut wird.

    • currentParent - Der Aktuelle Standort, an dem das Dokument liegt

    • targetParent - Der Standort, an den das Dokument verschoben werden soll

Achtung: im scriptData Objekt kann es vorkommen, dass der currentParent nicht angegeben wurde den Wert "null" hat. Das kann passieren wenn der Nutzer ein Dokument aus einer Trefferliste, einem Workflow oder dem Desktop in die Zwischenablage kopiert. Sollte es dazu kommen, ist es Aufgabe des Skripters die Standorte des Dokuments selbst herauszufinden.

Rückgabewerte:

  • -1 - Die Aktion wird abgebrochen. Dem Nutzer wird keine Benachrichtigung gegeben warum. Der Skripter hat die Möglichkeit einen eigenen Toaster per formHelper zu zeigen

  • 0 - Die Aktion wird ausgeführt

OnMove

9.00 SR5

Das OnMove-Event wird ausgeführt, bevor der Nutzer ein Dokument von einem Standort an einen anderen verschiebt. Der Skripter hat in dem Skript die Möglichkeit, diesen Vorgang zu unterbinden. Dieses Skript ist asynchron und erfordert den Aufruf einer "done" Funktion damit der WebClient weiterarbeiten kann.

Dem Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclients erreichbar.

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events existiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

  • scriptData - Im scriptData Objekt befinden sich folgenden Informationen über den aktuellen Vorgang

    • dmsDocument - Das aktuelle Dokument, das der Nutzer versucht zu verschieben

      • Hinweis: Aktuell wird aus historischen Gründen das Model eines DMS-Dokuments ausgegeben. Zwecks Migration auf eine konsistente Struktur werden zusätzlich model und api eines DMS-Dokuments hinzugefügt (Details siehe A.03 DMS Dokument). 
        Beachten Sie bitte, dass mit einer Versionen > 10.10 die historische Variante "Model eines DMS-Dokuments" abgekündigt und ausgebaut wird.

    • currentParent - Der Aktuelle Standort, an dem das Dokument liegt

    • targetParent - Der Standort, an den das Dokument verschoben werden soll

Rückgabewerte:

  • -1 - Die Aktion wird abgebrochen. Dem Nutzer wird keine Benachrichtigung gegeben warum. Der Skripter hat die Möglichkeit einen eigenen Toaster per formHelper zu zeigen

  • 0 - Die Aktion wird ausgeführt

BeforeDelete

10.10 SR2

Das Event BeforeDelete wird asynchron ausgelöst nachdem der Benutzer eine Ein- oder Mehrfachauswahl entweder von Ordnern, Registern und Dokumenten oder einer inaktiven Variante durch den Löschdialog bestätigt hat sowie beim Aufruf der Skriptfunktion formHelper.dms.delete. Über den Rückgabewert des Skriptes kann der Löschvorgang abgebrochen werden. Das Entfernen von Objekten aus einer Workflow-Akte, vom Desktop, endgültiges Löschen aus dem Papierkorb o. ä. löst dieses Event nicht aus. Wird ein Ordner oder Register gelöscht, so wird das Event nur dafür jedoch nicht für dessen Kindobjekte ausgelöst.

Dem Event-Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclient erreichbar.

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events exisitiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

  • scriptData - Das Data-Objekt beinhaltet folgende Parameter:

    • objectId - ID des zu löschenden Objektes

    • objectTypeId - ID des Objekttyps des zu löschenden Objektes

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde.

Rückgabewerte:

  • 1 - Die Aktion wird ausgeführt.

  • 0 - Die Aktion wird abgebrochen. Dem Nutzer wird keine Benachrichtigung gegeben warum. Der Skripter hat die Möglichkeit einen eigenen Toaster per formHelper zu zeigen.

AfterDelete

10.10 SR2

Das Event AfterDelete wird asynchron ausgelöst nachdem der Benutzer ein oder mehrere Dokumente, Register, Ordner oder inaktiven Varianten in den Papierkorb gelöscht hat sowie beim Aufruf der Skriptfunktion formHelper.dms.delete. Das Entfernen von Objekten aus einer Workflow-Akte, vom Desktop, endgültiges Löschen aus dem Papierkorb o. ä. löst dieses Event nicht aus. Wird ein Ordner oder Register gelöscht, so wird das Event nur dafür jedoch nicht für dessen Kindobjekte ausgelöst.

Dem Event-Skript werden folgende Parameter zur Verfügung gestellt:

  • formHelper - Über den Parameter formHelper ist die Skripting-API des enaio® webclient erreichbar.

  • globals - Der globals-Parameter beinhaltet alle Methoden, die in den globalen enaio® webclient-Skripten von Ihnen definiert wurden.

  • scriptingStorage - Der scriptingStorage ist ein Objekt, das in allen Events exisitiert, aber im Gegensatz zu den globals den Zustand nicht verliert. Speichert man in diesem Objekt Informationen zwischen, kann man sie auch in jedem anderen Skript wieder abrufen.

  • scriptData - Das Data-Objekt beinhaltet folgende Parameter:

    • objectId - ID des zu löschenden Objektes

    • objectTypeId - ID des Objekttyps des zu löschenden Objektes

  • done - Die Funktion die aufgerufen werden muss, um enaio® webclient zu signalisieren, dass das Skript beendet wurde.

Rückgabewerte: keine

Feldspezifische Events

Eventname

Verfügbar ab

Beschreibung

OnBeforeAddRow

 

Das OnBeforeAddRow-Event wird ausgelöst, bevor eine neue Tabellenzeile hinzugefügt wird.

Dem Eventhandler wird mit dem Parameter field die Tabelle übergeben, auf dem das Event ausgelöst wurde.

Beispiel:

(function(formHelper, globals, scriptingStorage, field, done) { alert("BeforeAddRow"); done(); });

OnBeforeDeleteRow

 

Das OnBeforeAddRow-Event wird ausgelöst, bevor eine Tabellenzeile gelöscht wird.

Dem Eventhandler wird mit dem Parameter field die Tabelle übergeben, auf dem das Event ausgelöst wurde.
Dem Eventhandler wird mit dem Parameter row das Zeilenobjekt übergeben, welches aus der Tabelle gelöscht werden soll.

Beispiel:

(function(formHelper, globals, scriptingStorage, field, row, done) { alert("BeforeDeleteRow"); done();  });

OnCellFocusGained

 

Das OnCellFocusGained-Event wird ausgelöst, wenn eine Zelle der hinterlegten Tabelle fokussiert wird.

Dem Eventhandler wird mit dem Parameter field die Tabelle übergeben, auf dem das Event ausgelöst wurde.
Dem Eventhandler wird mit dem Parameter cell das Tabellenzellenobjekt übergeben, welches den Fokus erhalten hat.

Beispiel:
(function(formHelper, globals, scriptingStorage, field, cell) { alert("CellFocusGained: " + cell.api.getValue()); });

OnCellValueChanged

 

Das OnCellValueChanged-Event wird ausgelöst, wenn Änderungen an einer sichtbaren Zelle der hinterlegten Tabelle vorgenommen werden.

Dem Eventhandler wird mit dem Parameter field die Tabelle übergeben, auf dem das Event ausgelöst wurde.
Dem Eventhandler wird mit dem Parameter cell das Tabellenzellenobjekt übergeben, welches geändert wurde.

Beispiel:
(function(formHelper, globals, scriptingStorage, field, cell) { alert("ValueChanged: " + cell.value); });

OnEnterPage

 

Das OnEnterPage-Event wird ausgelöst, wenn die Seite eines Pagecontrols dargestellt wird.

Dem Eventhandler wird mit dem Parameter field das PageControl übergeben, auf dem das Event ausgelöst wurde.
Dem Eventhandler wird mit dem Parameter page das PageControl-Objekt übergeben, zu dem gewechselt wurde.

Beispiel:
(function(formHelper, globals, scriptingStorage, field, page) { alert("EnterPage"); });

OnFocusGained

 

Das OnFocusGained-Event wird ausgelöst, wenn das hinterlegte Feld fokussiert wird.