From 7231976af6c8309d201e9abcda54bbcdadf61b1d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 7 Jan 2018 13:25:10 -0800 Subject: [PATCH] Fix nested group more info (#788) --- src/more-infos/more-info-group.html | 34 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/src/more-infos/more-info-group.html b/src/more-infos/more-info-group.html index a0d5b062cc..43dc9682cd 100644 --- a/src/more-infos/more-info-group.html +++ b/src/more-infos/more-info-group.html @@ -66,33 +66,31 @@ class MoreInfoGroup extends Polymer.Element { } statesChanged(stateObj, states) { - var groupDomainStateObj = false; - var baseStateObj; - var i; - var state; - var el; + let groupDomainStateObj = false; if (states && states.length > 0) { - baseStateObj = states.find(s => s.state === 'on') || states[0]; + const baseStateObj = states.find(s => s.state === 'on') || states[0]; + const groupDomain = window.hassUtil.computeDomain(baseStateObj); - groupDomainStateObj = Object.assign({}, baseStateObj, { - entity_id: stateObj.entity_id, - attributes: Object.assign({}, baseStateObj.attributes) - }); - var groupDomain = window.hassUtil.computeDomain(groupDomainStateObj); + // Groups need to be filtered out or we'll show content of + // first child above the children of the current group + if (groupDomain !== 'group') { + groupDomainStateObj = Object.assign({}, baseStateObj, { + entity_id: stateObj.entity_id, + attributes: Object.assign({}, baseStateObj.attributes) + }); - for (i = 0; i < states.length; i++) { - state = states[i]; - - if (groupDomain !== window.hassUtil.computeDomain(state)) { - groupDomainStateObj = false; - break; + for (let i = 0; i < states.length; i++) { + if (groupDomain !== window.hassUtil.computeDomain(states[i])) { + groupDomainStateObj = false; + break; + } } } } if (!groupDomainStateObj) { - el = Polymer.dom(this.$.groupedControlDetails); + const el = Polymer.dom(this.$.groupedControlDetails); if (el.lastChild) { el.removeChild(el.lastChild); }