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

View File

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