Module: sdw/templates/widgets/tabController

Dieses Modul definiert die Klasse tabs, ein Tabcontainer GUI Element.

Author:
  • sdw.systems
Source:
See:

Requires

Members

(private) canvas

Source:

(private) debug

Source:

(private) delegate

Source:

(private) languagePack

Source:

(private) metadata

Source:

moduleName

Properties:
Name Type Description
moduleName String

Name des Moduls aus lokaler Konstante

Source:

openTab

Properties:
Name Type Description
Zeiger Object

auf die fachliche Klasseninstanz des gerade offenen Tabs, also panes[openTabId]

Source:

openTabId

Properties:
Name Type Description
Nummer Number

des Tabs, der gerade offen ist, entspricht tab.paneId

Source:

panes

Properties:
Name Type Description
Array dijit/layout/ContentPane

der TabPanes im TabContainer. Wird im Konstruktor initialisiert

Source:

tabContainer

Properties:
Name Type Description
tabContainer dijit/layout/TabContainer
Source:

tabs

Properties:
Name Type Description
tabs Object

Array der Tabdefinition. Um den Tabcontainer initial mit Tabs zu füllen kann dieses Array von der abgeleiteten Klasse mit Werten gefüllt werden, z.B. in der setProperties() Methode

Properties
Name Type Description
klasse String

Name der fachlichen Klasse des Tabs

name String

Eindeutigie Benennung, meist die OID, also die eindeutige Id einer Instanz der oben genannten Klasse

label String

Label der im Reiter angezeigt wird

createOnce Boolean

Zeigt an, ob der Tab bei jedem in den Vordergund holen neu gerendert werden soll (false) oder nur einem bei der Erzeugung (true)

closable Boolean

Zeigt an, ob der Tab ein close-Symbol (x neben dem Label) bekommen soll und damit wieder schließbar ist. Wird nur verwendet wenn ein neuer Tab angelegt wird. Ein abweichender closable wird nicht aktualisie

Source:

Methods

addOrSelectTab(klasse, name, label, createOnce, closable, data)

Die Identifizierung von Tabs im Tabcontainer erfolgt anhanddes Attributes name. Falls der Tabcontainer bereits einen Tab mit diesem Namen hat, wird dieser in des Vordergrund geholt, falls nicht wird ein neuer Tab erzeugt und im Vordergrund eingehängt. Danach wird setProperties() aufgerufen um abgeleiteten Klassen nochmals Gelegenheit zu geben Eigenschaften zu setzen.

Parameters:
Name Type Description
klasse String

Der Name der fachlichen Klasse des Objektes das in dem Tab dargestellt werden soll. Wird nur im echten add-Fall ausgewertet.

name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

label String

Der Label des Tabs, wird nur verwendet wenn ein neuer Tab angelegt wird. Ein abweichender Label wird nicht aktualisiert.

createOnce Boolean

Zeigt an, ob der Tab bei jedem in den Vordergund holen neu gerendert werden soll (false) oder nur einem bei der Erzeugung (true)

closable Boolean

Zeigt an, ob der Tab ein close-Symbol (x neben dem Label) bekommen soll und damit wieder schließbar ist. Wird nur verwendet wenn ein neuer Tab angelegt wird. Ein abweichender closable wird nicht aktualisiert

data Object

Optionales Datenobjekt das dem Tab mitgegeben werden kann

Source:

addTab(klasse, name, label, createOnce, closable)

Die Identifizierung von Tabs im Tabcontainer erfolgt anhanddes Attributes name. Falls der Tabcontainer noch keinen Tab mit diesem Namen hat, wird er hinzugefügt. Danach wird er neue Tab in den Vordergrund geholt (selectChild). Dadurch wird der event selectWidget ausgelöst, der von der watch-Methode des TabContainers abgefangen wird. Siehe createGUI(). Die weitere Vervollständigung des neuen Tabs, insbesondere das Hinzufügen einer fachlichen Klasse erfolgt dort.

Parameters:
Name Type Description
klasse String

Der Name der fachlichen Klasse des Objektes das in dem Tab dargestellt werden soll, z.B. "de.systems.nutzer"

name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

label String

Der Label des Tabs, wird nur verwendet wenn ein neuer Tab angelegt wird. Ein abweichender Label wird nicht aktualisiert.

createOnce Boolean

Zeigt an, ob der Tab bei jedem in den Vordergund holen neu gerendert werden soll (false) oder nur einem bei der Erzeugung (true)

closable Boolean

Zeigt an, ob der Tab ein close-Symbol (x neben dem Label) bekommen soll und damit wieder schließbar ist. Wird nur verwendet wenn ein neuer Tab angelegt wird. Ein abweichender closable wird nicht aktualisiert

Source:

closeTab(name)

Die Identifizierung von Tabs im Tabcontainer erfolgt anhand des Attributes name. Falls der Tabcontainer bereits einen Tab mit diesem Namen hat, wird dieser gelöscht. Falls der Tab ein klasse-Attribut hat, wird die Instanz deleted

Parameters:
Name Type Description
name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

Source:

constructor(args, canvas)

Der Konstruktor stellt alle Argumente innerhalb der Klasse unter this.argument zur Verfügung.

Parameters:
Name Type Description
args Object

Argumentobjekt

Properties
Name Type Description
debug Boolean

Debugflag

metadata module:sdw/metadata

Zeiger auf das Metadatenobjekt des Applikationscontainers

languagePack module:sdw/languagePack

Zeiger auf das I18N Objekt des Applikationscontainers

delegate Object

Zeiger auf Das Objekt das die Callbacks dieser Klasse verarbeitet

canvas module:dijit/layout/ContentPane

Zeiger auf den ContentPane, in dem dieser viewContainer dargestellt werden soll. In der Methode createGUI() wird das content-Attribut des ViewPanes auf den Bordercontainer dieses ViewContainers gesetzt.

Source:

createGUI()

Baut das GUI, bestehend aus einem dijit/layout/tabContainer Der TabContainer hat eine watch-Methode die beim Wechsel des aktiven Tabs aufgerufen wird mit der Signatur

  1. name {OID} Identifizierender Name des tab, i.A: die OID des dort dargestellten umfassenden Objektes
  2. oldTab {dijit/layout/ContentPane} Der Tab, der den Fokus verliert
  3. newTab {dijit/layout/ContentPane} Der Tab, der den Fokus bekommt Falls der Delegate die Methode onChangeTab mit der gleichen Signatur implementiert wird diese Methode aufgerufen um ihm Gelegenheit zu geben auf den TabWechsel zu reagieren.

In Abhängigkeit des Attributes createOnce wird dann die fachliche Klasse für den neuen Tab erzeugt. Dazu wird die Methode createViewKlasse(newTab) des delegate aufgerufen, die von seinen abgeleiteten Klassen überschrieben werden kann. Die Methode createViewKlasse muss de neue fachliche Klasseninstanz unter tab.klasse={Object} einhängen. Es gibt keinen Rückgabewert. Der einzige Parameter vom Typ {dijit/layout/ContentPane} ist tab,der ContentPane, dem die neue fachliche Klasseninstanz zugeordnet wird. Hilft der abgeleiteten Klasse, anhand der Eigenschaft tab.paneId die richtige Instanz zu erzeugen.

Source:

dispose()

Löscht dieses Objekt und alle abhängigen.

Source:

getKlasse(name) → {Object}

Die Identifizierung von Tabs im Tabcontainer erfolgt anhand des Attributes name. Falls der Tabcontainer bereits einen Tab mit diesem Namen hat, wird true zurück gegeben.

Parameters:
Name Type Description
name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

Source:
Returns:

Das fachliche Objekt das diesem Pane zugewiesen ist

Type
Object

getPane(name) → {dijit/layout/contentPane}

Die Identifizierung von Tabs im Tabcontainer erfolgt anhand des Attributes name. Falls der Tabcontainer bereits einen Tab mit diesem Namen hat, wird true zurück gegeben.

Parameters:
Name Type Description
name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

Source:
Returns:

Der Tab diesen Namens

Type
dijit/layout/contentPane

getTab(name) → {Object}

Die Identifizierung von Tabs im Tabcontainer erfolgt anhand des Attributes name. Falls der Tabcontainer bereits einen Tab mit diesem Namen hat, wird true zurück gegeben.

Parameters:
Name Type Description
name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

Source:
Returns:

Der Tab diesen Namens

Type
Object

hasTab(name) → {Boolean}

Die Identifizierung von Tabs im Tabcontainer erfolgt anhand des Attributes name. Falls der Tabcontainer bereits einen Tab mit diesem Namen hat, wird true zurück gegeben.

Parameters:
Name Type Description
name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

Source:
Returns:

true falls der Tabcontainer beriets einen Tab diesen Namens hat, sonst false

Type
Boolean

selectTab(name, data)

Die Identifizierung von Tabs im Tabcontainer erfolgt anhand des Attributes name. Falls der Tabcontainer bereits einen Tab mit diesem Namen hat, wird dieser in des Vordergrund geholt.

Parameters:
Name Type Description
name OID

Der identifiziernde, also eindeutige Name des Tabs. Meistens die OID des umgebenden Objektes, das im Tab angezeigt wird.

data Object

Optionales Datenobjekt das dem Tab mitgegeben werden kann

Source:

setLabel(label, tabid)

Die Identifizierung von Tabs im Tabcontainer erfolgt anhanddes Attributes name. Diese Methode ändert den Label des Tabs.

Parameters:
Name Type Description
label String

Der neue Label

tabid Integer

Die id des tabs der ein neues Label bekommt. Wird diese nicht übergeben, wird der aktuell im Vordergrund stehende Tab genommen.

Source:

setTabAndPaneName(name, tabid)

Die Identifizierung von Tabs im Tabcontainer erfolgt anhanddes Attributes name. Diese Methode ändert die Identität des Tabs indem das Name-Attribut sowohl im Tab-Array als auch im Contentpane überschrieben wird. Wird insbesondere aufgerufen, wenn nach dem Erzeugen eines leeren Tabs das template-Objekt vom Server zurückkommt und die neue OID als Identität zur Verfügung steht.

Parameters:
Name Type Description
name String

Der neue Name, i.A. die OID

tabid Integer

Die id des tabs der umbenannt werden soll. Wird diese nicht übergeben, wird der aktuell im Vordergrund stehende Tab umbenannt.

Source: