From 4c3db2119b171481dbae8f2dd5ce3a63bceb28c8 Mon Sep 17 00:00:00 2001 From: Zack Arnett Date: Wed, 17 Oct 2018 12:15:20 -0400 Subject: [PATCH 1/4] Update to show when entity is unavailable --- src/panels/lovelace/cards/hui-glance-card.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index 9447cbac6f..c1b363311f 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -82,10 +82,6 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement) return html``; } const { title } = this.config; - const states = this.hass.states; - const entities = this.configEntities!.filter( - (conf) => conf.entity in states - ); applyThemesOnElement(this, this.hass!.themes, this.config.theme); @@ -94,7 +90,7 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement)
${repeat( - entities, + this.configEntities!, (entityConf) => entityConf.entity, (entityConf) => this.renderEntity(entityConf) )} @@ -137,6 +133,10 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement) state-badge { margin: 8px 0; } + .not-found { + background-color: yellow; + text-align: center; + } `; } @@ -144,6 +144,12 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement) private renderEntity(entityConf) { const stateObj = this.hass!.states[entityConf.entity]; + if (!stateObj) { + return html`
Entity Not Available: ${ + entityConf.entity + }
`; + } + return html`
Date: Thu, 18 Oct 2018 09:28:49 -0400 Subject: [PATCH 2/4] Updating from reviews --- src/panels/lovelace/cards/hui-glance-card.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index c1b363311f..52655061e1 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -49,8 +49,8 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement) }; } - public getCardSize() { - return 3; + public getCardSize() { + return (this.config!.title ? 1 : 0) + Math.ceil(this.configEntities!.length / 5); } public setConfig(config: Config) { @@ -89,11 +89,7 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement) ${this.renderStyle()}
- ${repeat( - this.configEntities!, - (entityConf) => entityConf.entity, - (entityConf) => this.renderEntity(entityConf) - )} + ${this.configEntities!.map(entityConf => this.renderEntity(entityConf))}
`; @@ -145,9 +141,9 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement) const stateObj = this.hass!.states[entityConf.entity]; if (!stateObj) { - return html`
Entity Not Available: ${ + return html`
${ entityConf.entity - }
`; + }
Entity Not Available
`; } return html` From dce612f9443e749f31467d1d59f78ad9793b4b48 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 18 Oct 2018 15:40:37 +0200 Subject: [PATCH 3/4] Trim whitespace --- src/panels/lovelace/cards/hui-glance-card.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index 52655061e1..bef069ce0d 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -49,7 +49,7 @@ export class HuiGlanceCard extends HassLocalizeLitMixin(LitElement) }; } - public getCardSize() { + public getCardSize() { return (this.config!.title ? 1 : 0) + Math.ceil(this.configEntities!.length / 5); } From d36352af165d7d15386b43da0a315f262bf711c9 Mon Sep 17 00:00:00 2001 From: Zack Arnett Date: Thu, 18 Oct 2018 10:26:42 -0400 Subject: [PATCH 4/4] Removing Repeat --- src/panels/lovelace/cards/hui-glance-card.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index bef069ce0d..ca01d54596 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -1,6 +1,5 @@ import { html, LitElement } from "@polymer/lit-element"; import { classMap } from "lit-html/directives/classMap.js"; -import { repeat } from "lit-html/directives/repeat"; import computeStateDisplay from "../../../common/entity/compute_state_display.js"; import computeStateName from "../../../common/entity/compute_state_name.js";