Module: sdw/templates/inline/listboxEditor

Dieses Modul definiert die Klasse ListboxEditor

Author:
  • sdw.systems
Source:

Extends

Requires

  • module:sdw/util
  • module:sdw/const
  • module:dojo/_base/declare
  • module:dojo/_base/langl
  • module:dojo/dom-construct
  • module:dijit/form/FilteringSelect
  • module:dojo/data/ItemFileReadStore

Members

additionalXHRArgs

Properties:
Name Type Description
additionalXHRArgs Object

Argumentobejkt für die Parametrisierung des xhr-Requests des ItemFileReadStores

Source:

filteringSelect

Properties:
Name Type Description
filteringSelect dijit/form/FilteringSelect
Source:

moduleName

Properties:
Name Type Description
moduleName String

Name des Moduls aus lokaler Konstante

Source:

oid

Properties:
Name Type Description
oid OID

OID für die Parametrisierung des xhr-Requests des ItemFileReadStores

Source:

Methods

callbackOnChange(value, displayedValue)

Wird vom FilteringSelect beim onchange-Event aufgerufen und kann von den abgeleiteten Klassen überschrieben werden. Diese Implementierung macht nichts

Parameters:
Name Type Description
value OID

Die OID des ausgewählten Listeneintrags

displayedValue String

Der Label des ausgewählten Listeneintrags

Source:

createGUIObjects()

Instantiiert ein dijit/form/FilteringSelect mit einem zugehörigen dojo/data/ItemFileReadStore der sich die optionList unter Verwendung des in den Editormetadaten hinterlegten opcOptionList über die API holt. Beim Setzen des diplayerValues Fallunterscheidung notwendig, ob das darzustellende dataItem für jedes Attribut Array-wertig ist, wie das der Fall ist wenn das dataItem ein Zeiger auf ein treeItem ist (update-Fall) oder das dataItem auf ein Element eines Templates zeigt (insert fall) und damit String-wertig ist. Im ersten Fall mus auf das 0-te Element des Array zugegriffen werden, also this.dataItem.label[0] Das macht jetzt alles Util.getLabelValueOfStoreItem

Source:

dispose()

Überschreibt die Implementierung der Basisklasse. Das FilteringSelect wird destroyed und dann die Implementierung der Basisklasse aufgerufen

Source:

getAfterImage() → {Object}

Überschreibt die Implementierung der Basisklasse Setzt oid und label des Listobjects im dataItem unter Berücksichtigung der Array-Schreibweise des Stores.

Source:
Returns:

Das Ergebnis der Methode getInnerHTML des Editormanagers, also den DOM-Tree für das Post-Eidotr-GUI.

Type
Object

getAfterImageForUpload() → {Object}

Überschreibt die Implementierung der Basisklasse. Gibt ein JSON-Objekt zurück mit dem einzigem Inhalt oid das mit dem value-Attribut des Filteringselects belegt ist

Source:
Returns:

json

Type
Object

getBeforeImage() → {OID}

Überschreibt die Implementierung der Basisklasse. Das beforeImage ist die OID, Label brauchen wir nicht. Das beforeImage ist hier die OID des Listobjects als primitives Datenobjekt.

Source:
Returns:

beforeImage als OID des Listobjects

Type
OID

getObjektInstanzOID()

Die OID für die Listbox ist normalerweise irgendein Objekt von dem die ListItems exitenzabhängig sind, alle Stellen einer Organisationseinheit z.B. Die Idee ist, dass das existenzbegründende Objekt im tree oberhalb des Objektes gefunden werden kann dessen Attribut wir gerade mit einer Listbox editieren. Da der Tree hierarchisch ist brauchen wir nur die Klasse des Objektes, die sollte in this.metadataItem.oidOptionList[0] stehen. this.metadataItem.oidOptionList[1] ist das Attribut der Klasse die als OID verwendet wird, muss ja nicht die OID der Klasse selber sein, z.B. kann es sich um ein ListObject handeln. Sinnvolle Beispiele: oidOptionList:["Meine_Klasse", "oid"]
oidOptionList:["Meine_Relationsklasse", "Meine_ListObject"] In letzteren Fall wird getestet ob oid wirklich ein Skalar ist (ist es natürlich nicht) und auf die oid-Eigenschaft reduziert

Source:

hasBeenUpdated() → {Boolen}

Überschreibt die Implementierung der Basisklasse und gibt true zurück, falls die Auswahl des FilteringSelect geändert wurde. Konkret wird vergleichen, ob dis im BeforeImage abgespeicherte OID noch die gleiche ist wie die der aktuellen Auswahl im FilteringSelect.

Source:
Returns:

true falls die Auswahl des FilteringSelect geändert wurde, sonst false.

Type
Boolen

isValid() → {Boolen}

Überschreibt die Implementierung der Basisklasse und gibt true zurück, falls die isValid()-Methode des FilteringSelect true zurückgibt

Source:
Returns:

true wenn das FilteringSelect valide ist, sonst false.

Type
Boolen

setFocus()

Überschreibt die Implementierung der Basisklasse. Setzt den Focus nach 10 Millisekunden in den FilteringSelect

Source:

setNull()

Überschreibt die Implementierung der Basisklasse. Wird wohl nie zum Einsatz kommen, da Listenwertige Objekte i.a. existenzbegründent sind und nicht Null sein dürfen. Falls doch wird der Inhalt des FilteringSelect auf einen Leerstring gesetzt und die OID auf 0.

Source: