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.

System-Funktionen 1:

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.

System-Funktionen 2:

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.

System-Funktionen 3:

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.

System-Funktionen 4:

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.

System-Funktionen 5:

Diese Funktion kann auch explizit aufgerufen werden (z. B. bei der Zerstörung von Child-Controls).