Module: sdw/templates/widgets/treeController

Dieses Modul definiert die Klasse Tree

Die Klasse Tree realisiert ein Widget auf Basis von dijit/Tree.

Egenschaften:

  1. Suche
  2. Insert/Updat/Delete
  3. Kontextmenü
  4. Drag and Drop
Author:
  • sdw.systems
Source:
See:

Requires

Members

(private) autoExpand

Source:

betweenThreshold

Properties:
Name Type Description
betweenThreshold Integer

Falls größer 0 wird das als Anzahl von Pixeln interprtiert, die zwischen 2 Knoten des Baumes als Drop-Area für das veschieben von Knoten auf der gleichen Ebene des Baumes genutzt werden können.

Source:

(private) canvas

Source:

(private) childrenAttrs

Source:

copyOnly

Properties:
Name Type Description
copyOnly Boolean

Falls true kann immer nur kopiert, nicht aber verschoben werden Default: false

Source:

(private) debug

Source:

(private) delegate

Source:

(private) hasCheckboxes

Source:

hasContextMenue

Properties:
Name Type Description
hasContextMenue Boolean

Kontextmenü soll verwendet werden

Source:

hasDefaultContextMenue

Properties:
Name Type Description
hasDefaultContextMenue Boolean

Kontextmenü soll nur mit bestimmten MenüItems verwendet werden. Deshalb muss createContextMenue explizit aufgerufen werden, siehe Konstruktor

Source:

(private) languagePack

Source:

(private) metadata

Source:

moduleName

Properties:
Name Type Description
moduleName String

Name des Moduls aus lokaler Konstante

Source:

(private) queryRootItemParams

Source:

singular

Properties:
Name Type Description
singular Boolean

Falls true kann immer nur ein treeItem zur gleichen Zeit verschoben oder kopiert werden, cmd/shift-Click wird ignoriert In diesem Fall muss für copy die cmd-Taste NACH dem Anklicken des TreeItems gedrückt werden Default: false

Source:

sortKlassen

Properties:
Name Type Description
sortKlassen Array.<String>

Array der Klassennamen von treeItems, die sortiert, also in der Reihenfolge per dnd vertauscht werden können. Es wird davon ausgegangen, das jede hier aufgeführte Klasse in den Editormetadaten der Klasse im obersten Bereich das Attribut sortItem gesetzt hat. Der Wert ist der Name des Item vom Datentyp Integer, der die Sortierung beinhaltet, von 1 bis n aufsteigend, also nicht 0-basiert, das ist more userfriendly.

Source:

targetPosition

Properties:
Name Type Description
targetPosition String

Die Position in Bezug auf dDas Ziel der dndDrop-Operation, für das als letztes checkItemAcceptance mitdem Rückgabewert true aufgerufen wurde. "over", "before", oder "after"

Source:

targetTreeItem

Properties:
Name Type Description
targetTreeItem Object

Das Ziel der dndDrop-Operation. Zeiger auf das treeItem, für das als letztes checkItemAcceptance mitdem Rückgabewert true aufgerufen wurde.

Source:

topics

Properties:
Name Type Description
topics Array.<Object>

Array der dnd-Topics die subscribed sind um diese bei dispose wieder abzumelden.

Source:

treeItem

Properties:
Name Type Description
treeItem Object

Das aktuell aktive treeItem. Dieses wurde angeklickt und hat den Focus. Ist nach dem Laden und vor dem 1. Click nicht valide, muss in den abgeleiteten Klassen, in denen das Wurzelobjekt bekannt ist, gesetzt werden. Dazu am besten onLoadTreeComplete: überschreiben und mit this.queryItemsByClass(RootKlasse) das RootItem holen und dann im Callback setzen: this.treeItem=items[0]

Source:

treeNode

Properties:
Name Type Description
treeNode Object

Das aktuell aktive DomObjektItem. Dieses wurde angeklickt und hat den Focus. Ist nach dem Laden und vor dem 1. Click nicht valide, muss in den abgeleiteten Klassen, in denen das Wurzelobjekt bekannt ist, gesetzt werden. Dazu am besten onLoadTreeComplete: überschreiben und mit this.queryItemsByClass(RootKlasse) das RootItem holen und dann im Callback setzen: this.treeNode=this.getTreeNodeForTreeItem(this.treeItem);

Source:

view

Properties:
Name Type Description
Zeiger Object

auf den View im ViewTabPane-Paradigma, deprecated

Source:

Methods

_checkItemAcceptance_(targetDomNode, source, position) → {boolean}

Wird von der Source aufgerufen und wandelt den targetDomNode in ein treeItem um, ruft dann return this.checkItemAcceptance() auf, das von den abgeleiteten Klassen überschrieben werden sollte. Gibt false zurück, wenn der DomNode nicht in ein treeItem umgewandelt werden kann.

Parameters:
Name Type Description
targetDomNode Object

DomNode, über den der Avatar gerade schwebt

source digit/tree/dndSource

Das source Objekt des Trees

position String

Einfügeposition, "over", "before", oder "after"

Source:
Returns:

true, falls der targetDomNode als Ziel der dnd-Aktion in Frage kommt, sonst false

Type
boolean

_onClickTreeNode_(treeItem, treeNode)

Interner Handler für den Click-Event auf einen treeNode. Darf nicht überschrieben werden. Setzt this.treeItem und this.treeNode auf die neuen Werte und ruft dann this.onClickTreeNode(treeItem, treeNode) auf, die von den abgeleiteten Klassen überschrieben werden kann. Das treeItem ist kein Array[0]

Parameters:
Name Type Description
treeItem Object

Das angeklickte TreeItem

treeNode Object

Der DOM-Node des angeklickten treeItems .

Source:

_onDoubleClickTreeNode_(treeItem, treeNode)

Interner Handler für den Doppelclick-Event auf einen treeNode. Darf nicht überschrieben werden. Setzt this.treeItem und this.treeNode auf die neuen Werte und ruft dann onDoubleClickTreeNode(treeItem, treeNode) auf, die von den abgeleiteten Klassen überschrieben werden kann. In der viewtabpane-Systematik wurd vorher this.delegate.view.onClickToolbarButtonWithDomId(SDWConst.domIdEdit) aufgerufen, das ist völlig deprecated und gehört vernünftig gemacht.

Parameters:
Name Type Description
treeItem Object

Das angeklickte TreeItem

treeNode Object

Der DOM-Node des angeklickten treeItems .

Source:

addChildNode(newNode, parentNode, childArrayName, sendClick) → {Object}

Fügt ein neues Kindobjekt in den Baum ein. Erzeugt ein neues TreeItem durch Aufruf der Methode this.createItem(newNode);

Parameters:
Name Type Description
newNode Object

Das neue Kindobjekt. Die Identität muss eindeutig sein, es findet hier keine Prüfung auf Duplikate statt.

parentNode Object

Das treeItem, unter dem das neue Kindobjekt eingehängt werden soll

childArrayName String

Der Name der Eigenschaft des parentNode, der auf den Array von Kindobjekten verweist. Wird dieser Wert nicht angegeben, wird standardmäßig this.childrenAttrs[0] verwendet.

sendClick Boolean

Ruft onClickTreeNode() für das neue treeItem auf, simuliert also einen Click des Nutzers auf das neue treeItem, wodurch die passenden Methoden in den abgeleiteten Klassen aufgerufen werden.

Source:
Returns:

Zeiger auf das neue treeItem

Type
Object

appendChildNode(newNode, parentNode, childArrayName, sendClick)

Fügt ein Kindobjekt in den Baum ein. Dieses muss vorher mit der Methode .createItem(newNode) erzeugt worden sein.

Parameters:
Name Type Description
newNode Object

Das neue Kindobjekt. Die Identität muss eindeutig sein, es findet hier keine Prüfung auf Duplikate statt.

parentNode Object

Das treeItem, unter dem das neue Kindobjekt eingehängt werden soll

childArrayName String

Der Name der Eigenschaft des parentNode, der auf den Array von Kindobjekten verweist. Wird dieser Wert nicht angegeben, wird standardmäßig this.childrenAttrs[0] verwendet.

sendClick Boolean

Ruft onClickTreeNode() für das neue treeItem auf, simuliert also einen Click des Nutzers auf das neue treeItem, wodurch die passenden Methoden in den abgeleiteten Klassen aufgerufen werden.

Source:

beforeTreeDrop(Quell-dndSource,, nodes, copy) → {Boolean}

Wird von der dnd-Source aufgerufen bevor die nodes eingefügt werden Abgeleitete Klassen können diese Methode überschreiben um Änderungen am Store vorzunehmen, die sich innerhalb der Creator-Methode auf die neuen nodes auswirken soll. Diese Implementierung hier macht nichts anderes als den Hinweis zu geben dass sie nicht überschrieben wurde.

Parameters:
Name Type Description
Quell-dndSource, dojo/dnd/Source

von der die Nodes gedraged werden

nodes Array.<Object>

Die gedraggten Nodes.

Properties
Name Type Description
data Object

Das data-Objekt, das der Node in der creatorMethode mitbekommen hat.

type Array.<String>

Der type-Array, den der Node in der creatorMethode mitbekommen hat.

copy Boolean

copy==true, move==false

Source:
Returns:

false==DragDropVorgang wird abgebrochen, true==weitermachen

Type
Boolean

checkAcceptance(source, treeNodes) → {boolean}

Prüft. ob die übergebene Source die übergebenen treeNodes akzeptiert. Sollte von der abgeleiteten Klasse überschrieben werden. Diese Implementierung gibt nur eine Meldung bez. fehlenden Übschreibens aus und gibt immer true zurück.

Parameters:
Name Type Description
source digit/tree/dndSource

Das source Objekt das geprüft werden soll

treeNodes Array.<Object>

Die treeNodes die geprüft werden sollen

Source:
Returns:

Hier immer true. In den überschriebenen Versionen true, falls die Source als Ziel für die treeNodesin Frage kommt, sonst false

Type
boolean

checkItemAcceptance(targetTreeItem, source, position) → {boolean}

Wird von checkItemAcceptance aufgerufen und kann von der abgeleiteten Klasse überschrieben werden. Diese Implementierung regelt die Acceptance für Verschiebeoperationen im Baum

Parameters:
Name Type Description
targetTreeItem Object

targetTreeItem, über dem der Avatar gerade schwebt

source digit/tree/dndSource

Das source Objekt des Trees

position String

Einfügeposition, "over", "before", oder "after"

Source:
Returns:

Hier immer false falls es keine sortKlassen gibt, sonst das Ergebnis in Bezug auf die Sortklassen. In den überschriebenen Versionen true, falls das treeItem als Ziel der dnd-Aktion in Frage kommt, sonst false

Type
boolean

confirmAndDelete(treeItem, opcode, additionalCommandArgs, callBackOnClose, sendClick)

Löscht das übergebene treeItem nach vorheriger Nachfrage beim User. Dazu ruft der Dialog confirmAndDeleteTreeItemDialog die Methode deleteTreeNode dieser Klasse auf. Falls das zu löschende Item nicht das rootItem ist wird nach dem Löschen das ParentItem des gelöschten Items als aktuell gewähltes Item genommen.

Parameters:
Name Type Description
treeItem Object

Das treeItem das gelöscht werden soll

opcode OPCODE

Der Opcode der für das Löschen an die API gesendet werden soll.

additionalCommandArgs Object

Argumentenobjekt mit zusärtlichen Argumenten für das Command-Objekt das die Löschung über die API auslöst

callBackOnClose Object

Methode des delegates die nach Beendoigung des Dialoges aufgerufen wird

sendClick Boolean

Ruft onClickTreeNode() für das neue aktuelle treeItem auf, simuliert also einen Click des Nutzers auf das neue treeItem, wodurch die passenden Methoden in den abgeleiteten Klassen aufgerufen werden.

Source:

constructor(args)

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 tree dargestellt werden soll. Falls canvas null ist, muss sich der delegate um die Darstellung kümmern, ansonsten wird in der Methode createGUI() das content-Attribut des Canvas auf den den Tree gesetzt.

autoExpand Boolean

True, falls der Tree initial vollständig aufgeklappt sein soll

queryRootItemParams Object

Parameter der initialen Query des RootItems, default ist {"level":"0"}

childrenAttrs Array.<String>

Liste der Attribute, die als Kindobjekte interpretiert werden, deafult ist ["children"]

hasContextMenue Boolean

True, falls der Tree ein Kontextmenü haben soll

hasDefaultContextMenue Boolean

True, falls der Tree ein Default-Kontextmenü haben soll

contextMenueItems Array.<Object>

Array der Custom-KontextmenüItems

Properties
Name Type Description
label String

Label des KontextmenüItems

id String

Id des KontextmenüItems

iconClass String

CSS-Iconklasse des KontextmenüItems

Source:

createItem(newNode) → {Object}

Erzeugt ein neues Kindobjekt des Baumes ohne es einzuhängen. Dabei wird diese Methode für jedes Unterobjekt rekursiv aufgerufen. Die rekursiv erzeugten treeObjekte ersetzen dabei die ursprünglichen Objekte.

Parameters:
Name Type Description
newNode Object

Das neue Objekt. Die Identität muss eindeutig sein, es findet hier keine Prüfung auf Duplikate statt.

Source:
Returns:

Zeiger auf das neue treeItem

Type
Object

deleteTreeNode(treeItem, sendClick)

Löscht das übergebene treeItem. Wird kein treeItem übergeben wird das aktuell ausgewählte treeItem gelöscht. Für ViewTabPaneGUI wird nach dem Löschen geprüft, ob der parent einen Zeiger auf einen View hat. Wenn dem so ist, wird für diesen View die dispose()-Methode aufgerufen. Nach dem Löschen wird store.save() aufgerufen und das aktuell gewählte treeItem und der aktuell gewählte treeNode auf die Vaterobjekte gesetzt wenn es denn welche gibt. Wenn nicht wurde die Wurzel des Baumes gelöscht und treeItem und treeNode sind null, aber das spielt dann auch keine Rolle mehr

Parameters:
Name Type Description
treeItem Object

Das zu löschende treeItem

sendClick Boolean

Ruft onClickTreeNode() für das neue aktuelle treeItem auf, simuliert also einen Click des Nutzers auf das neue treeItem, wodurch die passenden Methoden in den abgeleiteten Klassen aufgerufen werden.

Source:

dispose()

Gibt die Resourcen frei und löscht den tree. Kann von den abgeleiteten Klassen überschrieben werden, diese Implementierung muss aber als letzter Aufruf aufgerufen werden.

Source:

getFirstAncestorOfClass(klasse, treeItem) → {Object}

Gibt den ersten Vorgänger in der Treehierarchie zurück das in seiner Eigenschaft SDWConst.attrKlasse die übergebene Ausprägung hat, ausgehend vom übergebenen treeItem. Wird kein treeItem mitgegeben, wird das aktuell ausgewählte treeItem verwendet.

Parameters:
Name Type Description
klasse String

Name der fachlichen Klasse nach der gesucht werden soll

treeItem Object

Das treeItem, dessen erster Vorgänger ermittel werden soll oder null, falls das aktuelle treeItem verwendet werden soll

Source:
Returns:

Das treeItem mit der fachlichen Klasse SDWConst.attrKlasse das im Baum als erstes vorangeht

Type
Object

getItemIconClass(treeItem, opened) → {String}

Generische Implementierung der Methode getItemIconClass. Kann bei Bedarf von den abgeleiteten Klassen überschrieben werden. Diese Implementierung geht davon aus, dass jedes TreeItem ein Attribut namens SDWConst.attrKlasse hat, welches die fachliche Klassse dieses TreeItems darstellt, z.B. "systems.sdw.nutzer". Diese fachliche Klasse wird ohne Änderung als CSS-Klasse sowohl für den geschlossenen als auch den geöffneten Zustand des treeItems zurückgegeben. Im eingebundenen CSS muss also für jede fachliche Klasse ein CSS-Class-Selektor definiert sein, der als Hintergrundgrafik ein Icon der Größe 16x16 Pixel festlegt.

Parameters:
Name Type Description
treeItem Object

Das TreeItem, für das die Iconklasse festgestellt werden soll

Properties
Name Type Description
klasse String

Die fachliche Klasse des treeItems

opened Boolean

Falls true soll die CSS-Iconklasse ermittelt werden die dem treeItem zugeordnet wird wenn es geöffnet ist.

Source:
Returns:

Die CSS-Klasse, die für die Formatierung des treeItems verwendet werden soll.

Type
String

getMenueItemLabel()

Gibt den Objektnamen zur Benennung des Menueitems des Kontextmenü zurück. Das ist der Label des Objektes, auf das mit der rechten Maustaste geklickt wurde. Hier im TreeController also der Label des rechtgeklickten TreeItems.

Source:

getParent(treeItem) → {Object}

Gibt den unmittelbaren Parent in der Treehierarchie für das mitgegebene treeItem zurück. Wird kein treeItem mitgegeben, wird das parentItem des aktuellen treeItems zurückgegeben. Falls das geprüfte treeItem Item die Wurzel ist wird null zurückgegeben.

Parameters:
Name Type Description
treeItem Object

Das treeItem, dessen Parent ermittel werden soll oder null, falls das aktuelle treeItem verwendet werden soll

Source:
Returns:

Das Parent-treeItem oder null

Type
Object

getTooltip(node) → {String}

Erzeugt den Tooltip für dem übergebenen Node. Kann von den abgeleiteten Klassen überschrieben werden. Diese Implementierung prüft, ob der Node ein gefülltes Tooltip-Attribut hat. Wenn ja, wird dieses zurückgegeben, ansonsten der Label. Das macht durchaus Sinn, da lange Label im treePane abgeschnitten werden.

Parameters:
Name Type Description
node Object

Der Node, für den der Tooltip erzeugt werden soll

Source:
Returns:

Der Tooltip für den Node

Type
String

getTreeNodeForTreeItem(treeItem) → {Object}

Gibt den DOM-Node des mitgegebenen TreeItems zurück. Der DOM-Node wird gebraucht, um mit getParent() durch den Tree navigieren zu können

Parameters:
Name Type Description
treeItem Object

Das TreeItem, dessen DOM-Node zurückgegeben werden soll

Source:
Returns:

Der gefundene DOM-Node oder Null falls das TreeItem nicht in der _itemNodesMap des Trees gefunden werden konnte.

Type
Object

getValue(treeItem, attribute) → {Object}

Gibt den Wert des Attributes eines treeItems zurück. Convinience, ruft nur die gleiche Methode des itemFileWriteStores auf

Parameters:
Name Type Description
treeItem Object

Das treeItem, dessen Wert an der Stelle attribut ermittelt werden soll

attribute Object

Das Attribut dessen Wert ermittelt werden soll

Source:
Returns:

Der Wert des Attributes oder null

Type
Object

onClickCheckbox(treeItem, checked)

Wird vom interne Handler für das Klicken auf eine Checkbox im CBTree aufgerufen Kann von den abgeleiteten Klassen überschrieben werden. Diese Implementierung prüft, ob this.delegate.onClickCheckbox eine Methode ist und ruft sie ggf. auf.

Parameters:
Name Type Description
treeItem Object

Das treeItem dessen Checkbox angeklickt wurde

checked Boolean

Status der Checkbox nach dem anklicken

Source:

onClickContextmenueWithEvent(evt, domId)

Treecontrollerspezifischer Handler für den Klick-Event auf ein Kontextmenüitem. Ruft onClickTreeNodeContextmenue auf. Diese Methode muss dann von den abgeleiteten Klassen überschrieben werden.

Parameters:
Name Type Description
evt Object

Das Event-Objekt

domId Integer

ID des Menüitems auf das geklickt wurde.

Source:

onClickTreeNode(treeItem, treeNode)

Kann von den abgeleiteten Klassen überschrieben werden um auf den Event zu reagieren. Diese Implementierg gibt nur einen Hinweis aus das sie nicht überschrieben wurde.

Parameters:
Name Type Description
treeItem Object

Das treeItem, auf das geklickt wurde

treeNode Object

Der zum treeItem passende treeNode

Source:

onClickTreeNodeContextmenue(domId, treeItem, treeNode)

Kann von den abgeleiteten Klassen überschrieben werden um auf den Event zu reagieren. Diese Implementierg gibt nur einen Hinweis aus das sie nicht überschrieben wurde.

Parameters:
Name Type Description
domId String

Die DomId des Menüitems auf das geklickt wurde

treeItem Object

Das treeItem, auf das geklickt wurde

treeNode Object

Der zum treeItem passende treeNode

Source:

onDNDcancel()

Scbscription zum topic dndCancel. Wird nicht verwendet.

Source:

onDNDDrop(source, treeItem, copy, targetTreeItem)

Wird von onDndDrop für jeden Node der Nodelist separat aufgerufen und kann von den abgeleiteten Klassen überschrieben werden um Änderungen an die API zu propagieren.

Parameters:
Name Type Description
source Object

Das DND TreeSource-Objekt

treeItem Object

Das treeItem das gedroppt und dadurch umgehängt wird

copy Boolean

copy==true, move==false

targetTreeItem Object

Das treeItem auf das gedroppt wird, also das neue Parent-Objekt

Source:

onDndDrop(source, nodes, copy) → {Boolean}

WIRD DAS GEBRAUCHT?? JETZT DISABLED, SIEHE Konstruktor

Wird vom DNDController aufgerufen wenn die Nodes auf ein TreeItem gedropt werden. Diese Methode darf NICHT überschrieben werden und NICHT umbenannt werden und NICHT gehitcht werden. Läuft im Scope des DNDControllers und ruft für jeden übergebenen Treenode onDNDDrop auf wobei als 2. Parameter ein echtes treeItem übergeben wird. onDNDDrop kann von den abgeleiteten Klassen überschrieben werden.

Parameters:
Name Type Description
source Object

Das DND TreeSource-Objekt

nodes Array.<Object>

Array der DomNodes, die gedropped werden

copy Boolean

copy==true, move==false

Source:
Returns:

false==DragDropVorgang wird abgebrochen, true==weitermachen

Type
Boolean

onDNDPasteItem(childItem, oldParentItem, newParentItem, copy, insertIndex)

Wird nach dem verschieben eines treeItems aufgerufen. Kann von den abgeleiteten Klassen überschrieben werden. Diese Implementierung regelt Verschiebeoperationen im Tree anhand der Editormetadaten.

Parameters:
Name Type Description
childItem Object

Das verschobene ChildItem

oldParentItem Object

Das ParentItem vor dem verschieben

newParentItem Object

Das ParentItem nach dem Verschieben

copy Boolean

copy==true, move==false

insertIndex Integer

Die neue Nummer in der Liste der Children wenn das verschieben einem Umsortieren entspricht

Source:

onDNDstart()

Scbscription zum topic dndStart. Wird nicht verwendet.

Source:

onDoubleClickTreeNode(treeItem, treeNode)

Kann von den abgeleiteten Klassen überschrieben werden um auf den Event zu reagieren. Diese Implementierg gibt nur einen Hinweis aus das sie nicht überschrieben wurde.

Parameters:
Name Type Description
treeItem Object

Das treeItem, auf das geklickt wurde

treeNode Object

Der zum treeItem passende treeNode

Source:

onLoadTreeComplete()

Kann von den abgeleiteten Klassen überschrieben werden um auf den Event zu reagieren. Diese Implementierg gibt nur einen Hinweis aus das sie nicht überschrieben wurde.

Source:

onNodeMouseEnter(treeItem, treeNode)

Kann von den abgeleiteten Klassen überschrieben werden um auf den Event zu reagieren. Diese Implementierung macht nichts

Parameters:
Name Type Description
treeItem Object

Das TreeItem in dessen Scope die Maus bewegt wurde

treeNode Object

Der DOM-Node des dieses treeItems

Source:

onNodeMouseLeave(treeItem, treeNode)

Kann von den abgeleiteten Klassen überschrieben werden um auf den Event zu reagieren. Diese Implementierung macht nichts

Parameters:
Name Type Description
treeItem Object

Das TreeItem in dessen Scope die Maus bewegt wurde

treeNode Object

Der DOM-Node des dieses treeItems

Source:

onOpenContextMenue(treeItem, treeNode)

Kann von den abgeleiteten Klassen überschrieben werden um auf den Event zu reagieren. Diese Implementierg gibt nur einen Hinweis aus das sie nicht überschrieben wurde.

Parameters:
Name Type Description
treeItem Object

Das treeItem, auf das geklickt wurde

treeNode Object

Der zum treeItem passende treeNode

Source:

onOpenContextMenueWithEvent(evt)

Treecontrollerspezifischer Handler für den Rechtsklick-Event der das Kontextmenü öffnet. Extrahiert aus dem Event-Objekt treeItem und treeNode und parametrisiert damit den Aufruf von onOpenContextMenue. Diese Methode muss dann von den abgeleiteten Klassen überschrieben werden.

Parameters:
Name Type Description
evt Object

Das Event-Objekt

Source:

queryByID(oid, klasse, callback)

Durchsucht den store des trees und gibt das gefundene Item als Parameter der callback-Methode zurück. OID, klasse und query werden ebenfalls zurückgereicht. Parameter der Suche sind die oid und die klasse des treeItems. Es wird ein einelementiges Ergebnis erwartet, da die OID eineindeutig ist.

Parameters:
Name Type Description
oid OID

Die OID des gesuchten TreeItems

klasse String

Die Klasse des gesuchten TreeItems

callback Callback

Wird mit dem gefundenen TreeItem als Parameter aufgerufen. Der Paramter ist nicht array-wertig.

Source:

queryByOIDAndClass(oid, klasse, callback)

Durchsucht den store des trees und gibt das gefundene Item als Parameter der callback-Methode zurück. OID, klasse und query werden ebenfalls zurückgereicht. Parameter der Suche sind die oid und die klasse des treeItems. Es wird ein einelementiges Ergebnis erwartet, da die OID eineindeutig ist.

Parameters:
Name Type Description
oid OID

Die OID des gesuchten TreeItems

klasse String

Die Klasse des gesuchten TreeItems

callback Callback

Wird mit dem gefundenen TreeItem als Parameter aufgerufen. Der Paramter ist nicht array-wertig.

Source:

queryItemsByClass(klasse, callback([items]), sortKeys))

Führt eine Query zur Findung aller Items aus die der übergebenen Klasse angehören. Deep==true.

Parameters:
Name Type Description
klasse String

Der Name der fachlichen Klasse, nach der gesucht wird

callback([items]) Calllback

Wird mit dem Array der gefundenen treeItems als Parameter aufgerufen

sortKeys) Array.<Object>

Sortiervorschrift in der Form [{attribute: "aisle", descending: true}]

Source:

queryRootItem(callback(item))

Führt die initiale Query zur Findung des RootItems aus, von hier aus wird der Tree aufgebaut. Als QueryParams wird this.queryRootItemParams verwendet, deep==false weil das RootItem ja nicht geschachtelt ist

Parameters:
Name Type Description
callback(item) Calllback

Wird mit dem gefundenen RootItem als Parameter aufgerufen

Source:

setLabel(treeItem, label)

Setzt den Label, also den angezeigten String des treeItems auf einen neuen Wert. Wird kein treeItem übergeben wird das aktuell ausgewählte treeItem geändert.

Parameters:
Name Type Description
treeItem Object

Das zu ändernde treeItem

label String

Der neue Label für das treeItem

Source:

setProperties()

Kann von den abgeleiteten Klassen überschrieben werden um weitere Eigenschaften zu setzen. Diese Implementierg gibt nur einen Hinweis aus das sie nicht überschrieben wurde.

Source:

setSelectedItems(])

Selektiert den Array von übergebene Items

Parameters:
Name Type Description
] Object

items Array

Source:

setTooltip(treeItem, tooltip)

Setzt den Tooltip, also den angezeigten String im Callout des treeItems auf einen neuen Wert. Wird kein treeItem übergeben wird das aktuell ausgewählte treeItem geändert.

Parameters:
Name Type Description
treeItem Object

Das zu ändernde treeItem

tooltip String

Der neue Tooltip für das treeItem

Source:

setValueOfAttribute(item, attribute, value)

Setzt den Wert des übergebenen Attributes des übergebenen treeItems auf den neuen übergebenen Wert falls er schon existiert oder fügt das Attribut hinzu und setzt seinen Wert. Achtung: Es können keine Objekte als Wert übergeben werden, die aus Sicht des Baumes eigene treeNodes sind. Diese müssen erst separat mit createItem() angelegt werden und dann mit setValueOfAttribute() eingehängt werden.

Parameters:
Name Type Description
item Object

Das treeItem, dessen Attribut gesetzt oder eingefügt werden soll

attribute String

Name des Attributes, das gesetzt oder eingefügt werden soll

value Object

Der Wert des Attributes

Source:

showTooltip(node, evt)

Wird für jeden Knoten des Baums aufgerufen um den Tooltip anzuzeigen. Kann von den abgeleiteten Klassen überschrieben werden um den Tooltip asynchron zu bauen und dann anzuzeigen. Dabei wird this.getTooltip() aufgerufen um den eigentlichen Tooltip zusammen zu bauen. Diese Methode kann natürlich alternativ überschrieben werden.

Parameters:
Name Type Description
node Object

Der Node, für den der Tooltip erzeugt werden soll

evt Object

Das mouseover-Event Objekt

Source: