EventFunctionsDefinition

Aus kvwmap
Wechseln zu: Navigation, Suche

Arten von Event call back-Funktionen

Zunächst mal kann man unterscheiden hinsichtlich der Bindung der Events. Ereignisse können gebunden sein an einzelne Attribute, z.B. onchange in einem Textfeld oder onselect in einem Auswahlfeld. Zum anderen können Ereignisse wie Gruppe wird aufgeklappt oder zugeklappt oder Formular wird abgeschickt oder Datensatz wird ausgewählt verwendet werden. Hier ist wieder zu unterscheiden zwischen Events von Formularelementen wie Checkboxen oder Submit-Buttons und selbst getriggerten, wie alle Datensätze sind ausgewählt oder alle Pflichtfelder sind ausgefüllt.

Attributgebundene Event call back-Funktionen

Hierfür muss nur der Eventtyp und der Name der Funktion gespeichert werden. Für jedes Attribut müssen diese Angaben gemacht werden können. Die Benennung erfolgt analog zu den Call back-Funktionen. Erst der Eventname, Schrägstrich und dann der Funktionsname. Zusätzlich kommt hier noch die Parameterliste getrennt durch komma.

Ein Beispiele für Attribut event call back-Funktionen:

onselect/filterBranchenByGroup/this.value,'first'
onchange/validateGraterThan/this.value,'von_datum'

Die Funktion filterBranchenByGroup würde dann z.B. die Liste der Branchen auf die begrenzen, die zur Gruppe mit dem Werte this.value gehören und die erste Branche auswählen.

Die Funktion validateGraterThan würde den Werte des Feldes des Attributs, für das die Funktion definiert wurde prüfen gegen den Wert des Attributs mit dem Namen von_datum. Wenn this.value nicht größer ist als der Wert aus von_datum könnte eine Fehlermeldung ausgegeben werden.

Formularelementgebundene Events

Hier werden zwar auch Events wie onchange oder onmouseclick ausgewertet, aber hierbei soll es sich nicht um Events von Formularelementen der Sachdaten handeln, sondern um bezeichnete Formularelemente, die sonst noch im Sachdatenformular zu sehen sind, wie z.B. die Checkbox zum selektieren des Datensatzes oder zu Anzeige des Datensatzes in der Karte oder CSV-Export etc. Diese Events sind nicht an Attribute gebunden, daher muss neben dem Eventnamen und dem Namen der Call back-Funktion auch noch die DIV-ID des Formularelements angegeben werden. Diese Angaben werden dann auch nicht zu den Attributen im Attribut-Editor erfasst, sondern darunter unter den Call back-Funktionen in einem Feld "Globale Event-Funktionen". Die Namen setzen sich zusammen aus der Div_ID, Schrägstrich, Eventname, Schrägstrich, Funktionsname, Schrägstrich und Parameterliste.

Ein Beispiel für eine Globale event call back-Funktion:

selektiert/onclick/highlightDataset(this.value)" 

selbst definierte Events

Mehrere Eventfunktionsdefinitionen könnten wieder durch ; getrennt werden.

Aufruf der Event-Funktionen

Der GLE muss dem Sachdatenformular die Eventdefinitionen mitgeben. An den Formularelementen der Attribute hängen dann z.B. onselect="filterBranchenByGroup(this.value,'first')"

In welchen JavaScript-Dateien die Event-Funktionen stehen sollen, muss noch geklärt werden. Es wäre sicher sinnvoll, wenn diese nicht immer alle geladen werden, sondern nur, wenn die jeweiligen Attribute im GLE Sachdatenformular vorkommen.