From 05816374a8755994b7562ced09033732695e62a5 Mon Sep 17 00:00:00 2001 From: Jerad Meisner Date: Fri, 29 Jun 2018 07:20:52 -0700 Subject: [PATCH] Love: Fix config parsing in hui-glance-card (#1364) * Fix config parsing in hui-glance-card * Don't modify config. --- src/panels/lovelace/cards/hui-glance-card.js | 4 +--- src/panels/lovelace/common/validate-entities-config.js | 9 +++++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.js b/src/panels/lovelace/cards/hui-glance-card.js index db8bf7ebf5..c4796e4655 100644 --- a/src/panels/lovelace/cards/hui-glance-card.js +++ b/src/panels/lovelace/cards/hui-glance-card.js @@ -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) { diff --git a/src/panels/lovelace/common/validate-entities-config.js b/src/panels/lovelace/common/validate-entities-config.js index c005a5b276..4fe36aa438 100644 --- a/src/panels/lovelace/common/validate-entities-config.js +++ b/src/panels/lovelace/common/validate-entities-config.js @@ -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) + }); }