System-Funktionen
Framework Controls verfügen über Funktionen, die zu unterschiedlichen Zeiten vom System aufgerufen werden. Jede System-Funktion ruft über das „_super“-Objekt die jeweilige System-Funktion der Basis-Klasse (TcHmiControl) auf und übergibt eine Referenz auf das aktuelle Control-Objekt.
PrevInit-Funktion
FrameworkControlJs1.prototype.__previnit = function () {
/** Handle template elements. Should be done before call to __previnit of super class. */
this.__elementTemplateRoot = this.getElement().find('.framework-control-js1-template');
/** Call __previnit of super class. */
_super.prototype.__previnit.call(this);
};
Die PrevInit-Funktion wird automatisch nach dem Aufruf des Konstruktors durch das System aufgerufen, bevor die Attribut-Setter der einzelnen Attribute aufgerufen werden. Dementsprechend haben die Member-Variablen der Attribute bei dem Aufruf der PrevInit-Funktion den Wert „undefined“. Innerhalb der PrevInit-Funktion werden die Referenzen zu den HMTL-Elementen aus der Template.html-Datei erstellt.
Diese Funktion darf ausschließlich durch das System und nicht explizit durch den Entwickler aufgerufen werden. |
Init-Funktion
FrameworkControlJs1.prototype.__init = function () {
_super.prototype.__init.call(this);
};
Die Init-Funktion wird automatisch durch das System aufgerufen, nachdem die Attribut-Setter der einzelnen Attribute aufgerufen wurden. Dementsprechend haben die Member-Variablen der Attribute bei dem Aufruf der Init-Funktion bereits die Werte, welche dem Control übergeben oder intern als Default-Wert festgelegt wurden.
Diese Funktion darf ausschließlich durch das System und nicht explizit durch den Entwickler aufgerufen werden. |
Attach-Funktion
FrameworkControlJs1.prototype.__attach = function () {
/**
* Enable everything which was disabled while __detach function was called!
*/
/**
* Initialize everything which is only available while the control is part of the active dom.
*/
/** Call base __attach function */
_super.prototype.__attach.call(this);
};
Die Attach-Funktion wird automatisch durch das System aufgerufen, nachdem die aktuelle Control-Instanz zu dem DOM des HTML-Dokumentes hinzugefügt wurde. Innerhalb der Attach-Funktion sollen alle Berechnungen durchgeführt werden, die nur zur Verfügung stehen, während sich die Control-Instanz im DOM befindet (z. B. .getBoundingClientRect() von DOM-Elementen oder .width() von jQuery-Elementen). Der Gegensatz zur Attach-Funktion ist die Detach-Funktion.
Diese Funktion darf ausschließlich durch das System und nicht explizit durch den Entwickler aufgerufen werden. |
Detach-Funktion
FrameworkControlJs1.prototype.__detach = function () {
/**
* Disable everything which is not needed while the control is not part of the active dom.
* No need to listen to events for example!
*/
/** Call base __detach function */
_super.prototype.__detach.call(this);
};
Die Detach-Funktion wird automatisch durch das System aufgerufen, nachdem die aktuelle Control-Instanz aus dem DOM des HTML-Dokumentes entfernt wurde. In der Detach-Funktion sollen alle Funktionen deaktiviert werden, die nicht mehr benötigt werden, nachdem die Control-Instanz aus dem DOM entfernt wurde. Der Gegensatz zur Detach-Funktion ist die Attach-Funktion.
Diese Funktion darf ausschließlich durch das System und nicht explizit durch den Entwickler aufgerufen werden. |
Destroy-Funktion
FrameworkControlJs1.prototype.destroy = function () {
/**
* Free resources
*/
/** Call base __destroy function */
_super.prototype.destroy.call(this);
};
Die Destroy-Funktion wird automatisch durch das System aufgerufen, nachdem die Control-Instanz nicht mehr benutzt wird (nach Detach-Funktion). Befindet sich das Control auf einer HTML-Seite, wo „Preload Partial“ aktiviert ist, wird die Destroy-Funktion nicht aufgerufen, da die Seite im Cache des Browsers weiterhin gespeichert wird. Innerhalb der Destroy-Funktion sollen die Elemente zerstört werden, die während der Laufzeit erzeugt worden sind.
Diese Funktion kann auch explizit aufgerufen werden (z. B. bei der Zerstörung von Child-Controls). |