Module: sdw/templates/containerGUI/outlineTree

Dieses Modul definiert die Klasse outlineTree, die Basisklasse für die Outlinetrees in den TreeContainerViews.

  • Unterstützt dnd für Origanisationsdokumente (Ordner und Dokumente) da diese in vielen Outlinetrees verwendet werden
Author:
  • sdw.systems
Source:

Requires

Members

autoExpand

Properties:
Name Type Description
autoExpand Boolean

True falls der Tree komplett aufgespannt werden soll, sonst False. Default ist True

Source:

childrenAttrs

Properties:
Name Type Description
Array Array.<String>

von Attributen die als ExpandNodes des Baumes dienen. Muss von den abgeleiteten Klassen überschrieben werden

Source:

moduleName

Properties:
Name Type Description
moduleName String

Name des Moduls aus lokaler Konstante

Source:

rootKlasse

Properties:
Name Type Description
Klasse String

die als Einstiegspunkt im Baum dient, also das Root-Objekt, darf nur einmal im Baum vorhanden sein. Muss von den abgeleiteten Klassen überschrieben werden

Source:

useNotificationAPI

Properties:
Name Type Description
useNotificationAPI Boolean

True, falls Änderungen am treeStore an den Delegate propagiert werden sollen, sonst False. Default ist False.

Source:

Methods

checkItemAcceptance(targetTreeItem, source) → {boolean}

Überschreibt die Implementierung der Basisklasse und entscheidet für das übergebene treeItem, ob es ein valides drop-Ziel ist.

Parameters:
Name Type Description
targetTreeItem Object

treeItem, über das der Avatar gerade schwebt

source digit/tree/dndSource

Das source Objekt des Trees

Source:
Returns:

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

Type
boolean

onClickTreeNode()

Überschreibt diese Methode der Vaterklasse und ruft die gleichnamige Methode der delegate-Klasse auf Kann von den abgeleiteten Klassen überschrieben werden.

Source:

onClickTreeNodeContextmenue()

Überschreibt diese Methode der Vaterklasse und ruft die gleichnamige Methode der delegate-Klasse auf Kann von den abgeleiteten Klassen überschrieben werden.

Source:

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

Überschreibt die Implementierung der Basisklasse und sendet die Änderungen an den Server. Diese Implementierung managed das Verschieben von Dokumenten und Ordnern des Type Organisationsdokument die in sehr vielen fachlichen Objekten verwendet werden. Dabei wird sichergestellt dass es sich wirklich um Verschieben (zwischen verschiedenen Parents), nicht um ein Umsortieren (innerhalb des gleichen Parents) handelt. Falls es sich nicht um Organisationsdokumente handelt wird die Implementierung der vaterklasse aufgerufen.

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:

onDoubleClickTreeNode(treeItem, treeNode)

Eventhandler für das Doppelklicken auf einen Treenode. Überschreibt den Methodenstub der Vaterklasse. Wird dazu genutzt, im Objekt geschachtelte Objekte in einem eigenen ContainerView zu öffnen. Sollte von den abgeleiteten Klassen überschrieben werden wenn das gebrucht wird.

Parameters:
Name Type Description
treeItem Object

Das TreeItem, auf das doppelt geklickt wurde

Properties
Name Type Description
klasse String

Die fachliche Klasse des treeItems, hier immer de_stattbuchung_Event

oid OID

Die fachliche oid des treeItems

name String

Der Name des fachlichen Objektes des treeItems

treeNode Object

Der zugehörige TreeNode.

Source:

onLoadOutlineTreeComplete()

Wird von onLoadTreeComplete aufgerufen nachdem der Baum komplett geladen und initialisiert ist. Kann von den abgeleiteten Klassen überschrieben werden um spezifische Initialisierungen vorzunehmen. Diese Implementierung macht nichts außer dem Hinweis auszugeben dass sie nicht überschrieben wurde.

Source:

onLoadTreeComplete()

Callback-Methode, die vom tree-Widget aufgerufen wird, nachdem das asynchrone Laden der Daten beendet ist Nach dem Laden des trees soll standardmäßig das Objekt der treeroot-Klasse angezeigt werden, falls es ein template ist wird automatisch in den editall-Modus gewechselt.

Source:

onOpenContextMenue() → {Boolean}

Öffnet das Kontextmenü des Baumes wenn ein Rechtsklick auf ein treeItem erfolgt und aktiviert die Menüitems abhängig von der fachlichen Klasse des treeItems. Falls es einen containerView gibt wird anhand dessen Id geprüft ob dieser des gleiche Datenobjekt verwaltet wie das auf das geklickt worden ist. Falls dem nicht so ist wird ein Linksklick auf dem TreeItem simuliert. Dadurch wird der Editormanager mit den korrespondierenden Daten geöffnet. Kann von den abgeleiteten Klassen überschrieben werden und sollte wegen der Überprüfungsfunktionalität als erstes aufgerufen werden. Falls der Baum ein default-Kontextmenue hat wird das Kontextmenue aktiv/inaktiv geschaltet in Abhängigkeit des EditorMetadataItems. Delete wird aktiv falls ein contextMenueDrop Item existiert und die in der Ausschlussliste contextMenueDrop.mustBeEmpty enthaltenen ChildBranches alle leer sind

Source:
Returns:

false falls der falsche Editormanager offen ist, sonst true

Type
Boolean

setProperties()

Wird von der Vaterklasse aufgerufen um dort definierte Eigenschaften zu überschreiben. Hier insbesondere

  1. Das query-Object für die initiale query des datastores beim Anzeigen des Baumes: this.query={SDWConst.attrKlasse:StattConst.classProdukt}
  2. Die Liste der JSON-Attribute, die dieser tree als children-Attribute betrachtet und im Baum als child-Objekte anzeigt: this.childrenAttrs=[childAttrItems, ...] Weiterhin wird festgelegt, dass der tree ein Kontextmenü hat, und zwar ein default-Kontextmenü.
Source: