NEWS
Bug in adapter.js -> getEnum
-
In der adapter.js ist noch ein kleiner Bug in getEnum(…):
falsch:
that.getEnum = function getEnum(_enum, options, callback) { .... that.objects.getObjectView('system', 'enum', {startkey: _enum + '.' , endkey: _enum + '.\u9999'}, options, function (err, res) { ... }); };
richtig wäre (ohne + '.'):
that.getEnum = function getEnum(_enum, options, callback) { .... that.objects.getObjectView('system', 'enum', {startkey: _enum , endkey: _enum + '.\u9999'}, options, function (err, res) { ... }); };
ansonsten wird die view nicht richtig aufgelöst und result ist ein leeres Objekt.
Grüße
Carsten
-
In der adapter.js ist noch ein kleiner Bug in getEnum(…):
falsch:
that.getEnum = function getEnum(_enum, options, callback) { .... that.objects.getObjectView('system', 'enum', {startkey: _enum + '.' , endkey: _enum + '.\u9999'}, options, function (err, res) { ... }); };
richtig wäre (ohne + '.'):
that.getEnum = function getEnum(_enum, options, callback) { .... that.objects.getObjectView('system', 'enum', {startkey: _enum , endkey: _enum + '.\u9999'}, options, function (err, res) { ... }); };
ansonsten wird die view nicht richtig aufgelöst und result ist ein leeres Objekt.
Grüße
Carsten `
Was suchst du? Wenn ich zum Beispiel alle Räume sehen will dann wird enum.rooms. geschaut. Von mir aus passt?Wie ist dein Fall.
-
Wenn Du alle Räume sehen willst, dann klappt das auch ohne Änderung -> Aufruf:
adapter.getEnum('rooms',function (err, result, _enum) { ... }
result enthält dann z.B.
result = Object enum.rooms.büro = Object enum.rooms.küche = Object enum.rooms.wohnzimmer = Object
Was nicht geht ist, wenn Dich nur ein bestimmter Raum interessiert -> Aufruf z.B.:
adapter.getEnum('rooms.wohnzimmer',function (err, result, _enum) { ... }
result enthält dann nur proto
result = Object __proto__ = Object
mit der Änderung aber:
result = Object enum.rooms.wohnzimmer = Object
wie es sein sollte.
Wenn Du mit der Änderung aber nur
adapter.getEnum('rooms',function (err, result, _enum) { ... }
aufrufst, enthält result
result = Object enum.rooms = Object enum.rooms.büro = Object enum.rooms.küche = Object enum.rooms.wohnzimmer = Object
also noch zusätzlich:
enum.rooms
stört zwar nicht, ist aber auch nicht wirklich schön. Ich hoffe es ist rübergekommen was ich meine.
Grüße
Carsten
-
Wenn du einzelne Enum lesen willst, dann verwende einfach getForeignObjekt.
-
you made my day
Danke.
-
you made my day
Danke. `
Hoffentlich ist das nicht ironisch gemeint.Ich meine das ernst.
-
Hi Bluefox,
nein das war nicht ironisch gemeint, sondern Deine kurze Antwort hat mir gut weitergeholfen.
Grüße
Carsten