Events

Framework Control Events, die in der Description.json definiert werden, sollten in der Source.js ausgelöst werden. Der Name des Events muss wie der „name“ des Events in der Description.json benannt werden. Ein Event kann in verschiedenen Situationen ausgelöst werden, z. B. wenn sich ein bestimmter Datensatz ändert (siehe „.onDataChanged“ im Datagrid).

Ein Event wird in der Source.js über den EventProvider des Frameworks ausgelöst. Dafür wird die Framework-API-Funktion „EventProvider.raise()“ verwendet. Bei dem Auslösen des Events muss die konkrete Control-Instanz durch „this.__id“ gekennzeichnet werden.

// raise .onMyCustomEvent event
TcHmi.EventProvider.raise(this.__id + '.onMyCustomEvent);

Optional können bei dem Auslösen des Events Parameter an die Event Callbacks übergeben werden.

// declare parameter: type anything
var myParameterObject = 42;
// raise .onMyCustomEvent event with event parameters
TcHmi.EventProvider.raise(this.__id + '.onMyCustomEvent, myParameterObject);

Die Reaktion auf die ausgelösten Events kann im Engineering über das Properties Window oder über die Registrierung des Events in einer Code Behind-Datei erfolgen.

Events 1:

Ist in der Event-Definition allowPreventDefault erlaubt so sollte das myParameterObject preventDefault als Funktion anbieten. Diese Voraussetzung erfüllen beispielsweise alle DOM und jQuery Eventobjekte. Hat der Benutzer an diesem Event im Engineering die Option gesetzt, so wird diese Funktion aufgerufen.