Love: Fix config parsing in hui-glance-card (#1364)

* Fix config parsing in hui-glance-card

* Don't modify config.
This commit is contained in:
Jerad Meisner 2018-06-29 07:20:52 -07:00 committed by Paulus Schoutsen
parent 5b67a3691a
commit 05816374a8
2 changed files with 8 additions and 5 deletions

View File

@ -86,8 +86,6 @@ class HuiGlanceCard extends LocalizeMixin(EventsMixin(PolymerElement)) {
} }
_computeEntities(config) { _computeEntities(config) {
const entities = computeConfigEntities(config);
if (!validateEntitiesConfig(config)) { if (!validateEntitiesConfig(config)) {
const error = 'Error in card configuration.'; const error = 'Error in card configuration.';
this._error = createErrorCardConfig(error, config); this._error = createErrorCardConfig(error, config);
@ -95,7 +93,7 @@ class HuiGlanceCard extends LocalizeMixin(EventsMixin(PolymerElement)) {
} }
this._error = null; this._error = null;
return entities; return computeConfigEntities(config);
} }
_showEntity(item, states) { _showEntity(item, states) {

View File

@ -13,6 +13,11 @@ export default function validateEntitiesConfig(config, additionalKeys = []) {
return false; return false;
} }
return entities.every(entity => entity && typeof entity === 'object' && !Array.isArray(entity) && return entities.every(entity => {
'entity' in entity && validEntityId(entity.entity) && additionalKeys.every(key => key in entity)); if (typeof entity === 'string') {
return validEntityId(entity) && !additionalKeys.length;
}
return entity && typeof entity === 'object' && !Array.isArray(entity) &&
'entity' in entity && validEntityId(entity.entity) && additionalKeys.every(key => key in entity)
});
} }