« Zurück zu Produkt

Dokumentation

Tree

Benötigt: IP-Symcon >= 5.0

Erstellt einen Baum mit der Überschrift caption.
Die angezeigten Spalten werden in columns definert.
Initiale Einträge des Baumes können via values vorgegeben werden.

Beispiel

Allgemeine Parameter

Parameter Beschreibung
add (optional) (default: false) Wenn true, dann wird unter der Tabelle ein "Hinzufügen"-Button eingeblendet, welcher dem Baum ein neues Element unter dem angewählten Knoten hinzufügt
caption (optional) Sichtbare Beschriftung des Baumes
columns Spalten des Baumes
delete (optional) (default: false) Wenn true, dann wird hinter jedem Eintrag in des Baumes ein Button eingeblendet, welcher das entsprechende Element löscht
download (optional) (default: "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onAdd, onDelete, onEdit oder onExpand-Skriptes eine Data-URL, so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0)
form (optional) (default: basierend auf den edit-Parametern von columns) Ein individuelles Formular zum Bearbeiten oder Hinzufügen von Zeilen. Die Definition des Formulars erfolg analog zur Definition des Formulars für Aktionen statisch oder als PHP-Code. Die Verwendung des Formulars funktioniert analog zum gleichnamigen Parameter der List (ab IP-Symcon 7.0)
link (optional) (default: false) Ist dieser Parameter true, dann wird die Ausgabe des onAdd, onDelete, onEdit und onExpand-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0)
name (optional) Name des Baumes
onAdd (optional) (default: "") Skript, welches nach dem Hinzufügen eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den hinzugefügten Eintrag, siehe Verwendung des Bauminhaltes in on-Aktionen. Ansonsten hat es die gleichen Eigenschaften wie onClick des Button (ab IP-Symcon 5.3)
onDelete (optional) (default: "") Skript, welches nach dem Löschen eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den gelöschten Eintrag, siehe Verwendung des Bauminhaltes in on-Aktionen. Ansonsten hat es die gleichen Eigenschaften wie onClick des Button (ab IP-Symcon 5.3)
onEdit (optional) (default: "") Skript, welches nach der Bearbeitung eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den bearbeiteten Eintrag, siehe Verwendung des Bauminhaltes in on-Aktionen. Ansonsten hat es die gleichen Eigenschaften wie onClick des Button (ab IP-Symcon 5.3)
onExpand (optional) (default: "") Skript, welches nach der Ausklappen eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den ausgeklappten Eintrag, siehe Verwendung des Bauminhaltes in on-Aktionen. Ansonsten hat es die gleichen Eigenschaften wie onClick des Button (ab IP-Symcon 6.4)
rowCount (optional) (default: 0) sichtbare Anzahl von Zeilen; bei mehr Zeilen im Baum wird ein Scrollbalken eingeblendet - ist der Wert 0, so füllt der Baum den restlichen noch verfügbaren Platz im Instanzeditor. Nur ein Konfigurationselement kann den gesamten restlichen Platz erhalten.
sort (optional) Sortierung des Baumes. Wird dies nicht gesetzt wird der Baum nach den Identifikatoren der Knoten sortiert
type Tree
values (optional) initiale Einträge des Baumes
visible (optional) (default: true) Bei true ist der Baum sichtbar, ansonsten ist er unsichtbar (ab IP-Symcon 5.2)
enabled (optional) (default: true) Bei true kann der Baum verwendet werden, ansonsten wird er deaktiviert dargestellt (ab IP-Symcon 6.0)
changeOrder (optional) (default: false) Bei true kann die Reihenfolge der Einträge per Drag & Drop verändert werden. Die Sortierung des Baumes nach Spalten ist dann allerdings nicht möglich. (ab IP-Symcon 6.0)
loadValuesFromConfiguration (optional) (default: true) Dieser Parameter gibt an, ob der Baum mit den Werten der Eigenschaft gefüllt werden soll, siehe Speichern und Laden von Bäumen. Wird der Wert auf true gesetzt, so ist es für einen erfolgreichen Review im Module Store erforderlich, den Baum dennoch im Sinne des Benutzers zu füllen, siehe Reviewrichtlinien Punkt 13 (ab IP-Symcon 6.0)

Parameter für columns

Parameter Beschreibung
add (optional) initialer Wert in dieser Spalte bei einem neu hinzugefügtem Eintrag, notwendig wenn add bei dem Baum auf true gesetzt ist
caption Sichtbare Beschriftung einer Spalte
confirm (optional) (default: "") Abfragetext, bevor eine onClick-Aktion ausgeführt wird. Nur wenn die Abfrage mit "Ja" bestätigt wird, wird die Aktion ausgeführt. Ist kein Abfragetext definiert, so wird die Aktion direkt ausgeführt (ab IP-Symcon 5.2)
download (optional) (default: "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onClick-Skriptes dieser Spalte eine Data-URL, so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.1)
edit (optional) Beschreibung eines editierbaren Elements
label sichtbare Beschriftung einer Spalte (veraltet)
link (optional) (default: false) Ist dieser Parameter true, dann wird die Ausgabe des onClick-Skriptes dieser Spalte als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 7.1)
name eindeutiger Name einer Spalte um diese zu referenzieren; der Name darf nicht "id", "parent", "expanded", "rowColor", "editable" oder "deletable" sein, da diese Werte für andere Funktionen belegt sind, siehe Parameter für values
onClick (optional) (default: "") Skript, welches bei einem Klick auf ein Feld dieser Spalte ausgeführt wird. Es hat die gleichen Eigenschaften wie onClick des Button. Das Skript wird nur ausgeführt, sofern dieses Feld nicht leer, also 0, false oder "" ist (ab IP-Symcon 5.2)
save (optional) (default: true, falls das Element editierbar ist, sonst false) Bei true sollen die Werte dieser Spalte als Modul-Eigenschaften gesichert werden, siehe Speichern und Laden von Bäumen
visible (optional) (default: true) Bei false wird die Spalte nicht angezeigt
width Breite der Spalte in Pixeln, als CSS-String (z.B. "100px"); genau eine Spalte muss den Wert "auto" haben, wodurch die Breite dieser Spalte den restlich verfügbaren Platz nutzt. Darüber hinaus werden an dieser Spalte die Erweiterungs-Symbole des Baumes dargestellt.

Parameter für edit

Parameter Beschreibung
type Typ der Darstellung, entsprechend der möglichen Eingaben:
CheckBox, IntervalBox, NumberSpinner, PasswordTextBox, Select, SelectCategory, SelectColor, SelectEvent, SelectFile, SelectInstance, SelectLink, SelectMedia, SelectObject, SelectScript, SelectVariable, ValidationTextBox, List, Tree
Weitere Parameter Die weiteren Parameter ergeben sich je nach gewähltem Typ; die Parameter "name" und "caption" des Typs werden ignoriert
Warning

Wird der "type" List oder Tree verwendet, so wird der Wert dieser Spalte nicht noch einmal JSON-codiert. Es ist also lediglich erforderlich den Wert des übergeordneten Baumes einmalig zu parsen. Jede Unterliste bzw. Unterbaum steht dann direkt als Objekt zur Verfügung. Analog müssen die Werte in "values" auch nicht doppelt codiert werden.

Warning

Der Parameter "add" der Spalte wird entsprechend der Lokalisierung übersetzt, sofern der "type" von "edit" ValidationTextBox oder PasswordTextBox ist oder "edit" gar nicht gesetzt ist

Parameter für sort

Parameter Beschreibung
column Name der Spalte, nach welcher der Baum sortiert wird
direction Die Richtung der Sortierung; "ascending" für eine aufsteigende Sortierung und "descending" für eine absteigende Sortierung

Parameter für values

Parameter Beschreibung
deletable (optional) (default: true) Bei false kann die Zeile nicht gelöscht werden (ab IP-Symcon 5.4)
editable (optional) (default: true) Bei false kann die Zeile nicht editiert werden, obwohl der Baum an sich editierbare Spalten besitzt (ab IP-Symcon 5.4)
expanded (optional) (default: false) Falls dieser Wert true ist, wird der Eintrag beim Laden des Konfigurationsformulares direkt ausgeklappt
id Ein Identifikator, mit welchem der Eintrag in der Baumdarstellung als Elternknoten adressiert werden kann, id muss größer als 0 sein
parent (optional) (default: 0) In diesem Feld kann die id eines Wertes gesetzt werden, welcher in der Baumdarstellung der Elternknoten von diesem Wert wird. Hiefür muss der Eltern-Wert im Array "values" vor dem Kind stehen. Ist "parent" 0, so wird das Element auf oberster Ebene eingefügt.
rowColor (optional) (default: transparent) Hintergrundfarbe der Zeile als Hex-Code (z.B. Rot: "#ff0000" ), leerer String für Transparenz
Weitere Parameter (optional) (default: "") Für jeden initialen Eintrag des Baumes werden hier die Werte zu allen Spalten definiert. Hierfür wird für jede Spalte ein Parameter mit dem Namen der Spalte eingetragen. Die Belegung des Parameters entspricht dem Wert dieser Spalte bei dem entsprechenden Eintrag.

Speichern und Laden von Bäumen

Das Speichern und Laden von Bäumen erfolgt fast analog zu Listen.

In der Eigenschaft werden zusätzlich die Werte für id und parent gespeichert.

Beim Laden ist zu beachten, dass bei der Verwendung von values immer der Identifikator des Knotens angegeben werden muss, damit diese dem passenden Knoten aus der Eigenschaft zugewiesen werden können.

Verwendung des Bauminhaltes in on-Aktionen

Die Verwendung der Werte des Baumes in Skripten erfolgt analog zu Listen. Darüber hinaus beinhaltet jeder Eintrag den Wert "expanded", welcher angibt ob der Eintrag aktuell eingeklappt (false) oder ausgeklappt (true) ist.

Beispiel

{
     "type": "Tree",
     "name": "Devices",
     "caption": "Devices",
     "rowCount": 5,
     "add": true,
     "delete": true,
     "sort": {
         "column": "Name",
         "direction": "ascending"
     },
     "columns": [{
         "caption": "InstanceID",
         "name": "InstanceID", 
         "width": "75px",
         "add": 0,
         "edit": {
             "type": "SelectInstance"
         }
     }, {
         "caption": "Name",
         "name": "Name",
         "width": "auto",
         "add": ""
     }, {
         "caption": "State",
         "name": "State",
         "width": "40px",
         "add": "New!"
     }, {
         "caption": "Temperature",
         "name": "Temperature",
         "width": "75px",
         "add": 20.0,
         "edit": {
             "type": "NumberSpinner",
             "digits": 2
         }
     }],
     "values": [{
             "id": 1,
             "InstanceID": 0,
             "Name": "Kategorie",
             "State": "",
             "Temperature": 0
         },{
             "id": 2,
             "parent": 1,
             "InstanceID": 12435,
             "Name": "ABCD",
             "State": "OK!",
             "Temperature": 23.31,
             "rowColor": "#ff0000"
     }]
 }
Haben Sie noch Fragen?