Baumstruktur¶
DirectoryTree¶
Die DirectoryTree erlaubt es eine Baumstruktur für die Auswahl von Dateien festzulegen. Eine neue Liste wird über DirectoryTree(options)
erstellt.
Schlüssel | Beschreibung | Default | Beispiel |
---|---|---|---|
class | CSS-Klasse der Liste | undefined | |
id | ID der Liste | undefined | myID |
root | Verzeichnis auf dem Server | / | |
script | Script | # |
Wenn ein Eintrag ausgewählt wurde, wird der Event change.ALVINE.FILETREE
gefeuert. Als Parameter wird das Objekt und die ausgewählte Datei übergeben.
Tree¶
Zur Dartsellung von Bäumen kann das Tree-Objekt zum Einsatz kommen. Die Daten von dem Tree kommen in der Standardkonfiguration über eine url
. In der
URL können die Platzhalter ${id}
, ${parent}
und ${text}
verwendet werden. Das Objekt erwartet immer eine Ebene der Daten, so daß
in der URL die Ebene mitgegeben werden muß: http://example.com/datay?parent=${id}
.
Das Ergebnis vom Server wird über die Methode Tree.mapDataToNode(map)
in das vom Tree verwendete Format gebracht. Das Mapping erfolgt in dieser Funktion über die
Schlüssel map.key
, map.label
, map.parent
und map.rootsign
. Die Funktion kann aber auch komplett selbst implementiert werden.
Wird eine Node ausgewählt, so wird das Event select.ALVINE.TREE
mit den Parametern Tree-Instanz und der gewählten Node gefeuert.
filelist = new Alvine.Package.UI.Dialog.Tree(
{
'map.key': 'id',
'map.label': 'name',
'map.parent': 'parent',
'url': 'http://example.com/data?parent=${id}'
});
Alternativ können die Daten auch direkt bereitgestellt werden. Hierzu muss die Eigenschaft fetchData
gesetzt werden.
options = {
'fetchData': function(node, callback) {
if(node.id==='#') {
callback.call(this,
[{id:'14',text:'Root 1', icon:'fa fa-cog'}, 'Root 2']);
} else {
callback.call(this,
['Child 1', 'Child 2']);
}
}
};
Schlüssel | Beschreibung | Default | Beispiel |
---|---|---|---|
class | CSS-Klasse der Baumstruktur | undefined | |
fetchData | Konfiguration des Datenabrufs | undefined | |
id | ID des Baums | undefined | |
url | URL des Datasets | undefined | |
multiple | Mehrfachselektion im Baum | false | |
plugins | Verwendung von Erweiterungen | ['changed', 'state', 'unique'] | |
map.key | Name des Schlüssels im Datensatz vom Server | undefined | |
map.label | Name des Datenfeldes das angezeigt werden soll | undefined | |
map.parent | Name des Elements das auf die Elternstruktur zeigt | undefined | |
map.rootsign | Wie wird die Rootnode vom Server geliefert | 0 | |
themes.name | Name des Theme, oder flase für das Default-Theme | false | |
themes.icons | Ob Icons anzeigt werden sollen | false | |
themes.ellipsis | Ob Ellipsen angezeigt werden sollen | true | |
themes.stripes | Ob Striche angezeigt werden sollen | false | |
themes.dots | Ob Punkte angezeigt werden sollen | true | |
response.subkey | Unterschlüssel, in dem die Datensätze liegen | dataset |