NEWS
Wunsch: Erzeugen von js-Objekten im Reiter "Objekte"
-
Hi Bluefox,
habe gesehen, daß Du den Tab "Objekte" um die Funktion "Add new object" erweitert hast.
Diese Art der Erzeugung von Objekten durch den Anwender halte ich nicht für sinnvoll, zumal nicht ausgewählt werden kann, zu welcher Instanz das Objekt zugefügt werden kann. Es entsteht ein übergeordnetes (globales) Objekt. Eine Zuordnung als Objekt zu einer bestehenden Instanz halte ich für notwendig.
Noch besser wäre das "+" (Add new object) ganz rechts bei Instanzen, bei denen eine Erzeugung neuer Objekte durch den Anwender auch Sinn macht (z.B. javascript.N).
EDIT zur Übersetzung:
"State type": "de": "Datenpunkttyp"
"boolean": "de": "Logikwert"
"string": "de": "Zeichenkette"
"number": "de": "Zahl"
"enum": "de": "Aufzählung "
"array": "de": "Feld"
-
Du kannst erst Objekt anklicken, dann wird es als Kind von diesem Objekt erzeugt.
Leider der Knopf ganz hinten ist schwer realisierbar.
Was ich machen kann, das ist Knopf deaktivieren, solange es kein Parent ausgewählt ist und dann Id nur begrenzt editieren lassen.
-
Du kannst erst Objekt anklicken, dann wird es als Kind von diesem Objekt erzeugt. `
Das ist Ok. Danke :DEs sollte allerdings irgendwo erwähnt werden, oder Du änderst den "+"-Text von "Add new object" in "Add new child object to selected parent".
-
Hi Bluefox,
habe getestet und festgestellt, dass jetzt die Selektoren für Multistate-Werte im Tab "Zustände" nicht mehr funktionieren: Mache ich einen Doppelklick auf einen Multistate-Wert, wird nicht mehr ein Selektor, sondern ein Eingabefeld angeboten. Anschließend ist das Attribut
"type": "number" im Objekt verschwunden:
` > {"common": {
"name": "Bad.Lüfter",
"desc": "Multistate: 3-Stufen-Lüfter",
"def": "Aus",
"states": "0:Aus; 1:Stufe-1; 2:Stufe-2; 3:Stufe-3",
"role": "javascript",
"min": 0,
"max": 3,
"read": true,
"write": true
}, `
Bei den "boolean" Datenpunkten mit Zustandstexten funktioniert der Selektor.EDIT: Das Verschwinden von common.type ist beseitigt, nachdem ich den common.type-Selektor der Tabs "common" und "native" durch eine Text-Eingabemaske ersetzt habe. Außerdem habe ich common.type "enum" durch "number" ersetzt (siehe nächster Beitrag).
-
Habe mir mal die Änderungen in "adminObjects.js" angesehen, und festgestellt dass als state type auch "enum" verwendet wird.
Mit einer Erweiterung um den boolean Datenpunkt mit Zustandstexten (switch, de: Schalter) sollte es ab Zeile 157 etwa so aussehen:
if (stype == 'boolean') { obj.common.def = false; } else if (stype == 'switch') { obj.common.type = 'boolean'; obj.common.def = false; obj.common.states = 'false:no;true:yes'; } else if (stype == 'string') { obj.common.def = ''; } else if (stype == 'number') { obj.common.min = 0; obj.common.max = 100; obj.common.def = 0; obj.common.unit = '%'; } else if (stype == 'multistate') { obj.common.type = 'number'; obj.common.min = 0; obj.common.max = 5; obj.common.def = 0; obj.common.states = '0:zero;1:one;2:two;3:three;4:four;5:five'; }