From 21713b23bdfecec54deb67805e66a3133c970b46 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Tue, 11 Feb 2020 22:28:45 -0600 Subject: [PATCH 1/3] add state_color option to glance, button and state-icon --- src/panels/lovelace/cards/hui-glance-card.ts | 7 +++++-- src/panels/lovelace/cards/types.ts | 3 +++ src/panels/lovelace/elements/hui-state-icon-element.ts | 4 ++-- src/panels/lovelace/elements/types.ts | 1 + 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index 35130eb92c58..d8656933a763 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -59,7 +59,7 @@ export class HuiGlanceCard extends LitElement implements LovelaceCard { } public setConfig(config: GlanceCardConfig): void { - this._config = { theme: "default", ...config }; + this._config = { theme: "default", state_color: true, ...config }; const entities = processConfigEntities(config.entities); for (const entity of entities) { @@ -237,7 +237,10 @@ export class HuiGlanceCard extends LitElement implements LovelaceCard { .stateObj=${stateObj} .overrideIcon=${entityConf.icon} .overrideImage=${entityConf.image} - stateColor + .stateColor=${entityConf.state_color === false || + entityConf.state_color + ? entityConf.state_color + : this._config!.state_color} > ` : ""} diff --git a/src/panels/lovelace/cards/types.ts b/src/panels/lovelace/cards/types.ts index ffc361e64d4a..141a7874a467 100644 --- a/src/panels/lovelace/cards/types.ts +++ b/src/panels/lovelace/cards/types.ts @@ -57,6 +57,7 @@ export interface ButtonCardConfig extends LovelaceCardConfig { tap_action?: ActionConfig; hold_action?: ActionConfig; double_tap_action?: ActionConfig; + state_color?: boolean; } export interface EntityFilterCardConfig extends LovelaceCardConfig { @@ -102,6 +103,7 @@ export interface GlanceConfigEntity extends ConfigEntity { show_last_changed?: boolean; image?: string; show_state?: boolean; + state_color?: boolean; } export interface GlanceCardConfig extends LovelaceCardConfig { @@ -112,6 +114,7 @@ export interface GlanceCardConfig extends LovelaceCardConfig { theme?: string; entities: ConfigEntity[]; columns?: number; + state_color?: boolean; } export interface IframeCardConfig extends LovelaceCardConfig { diff --git a/src/panels/lovelace/elements/hui-state-icon-element.ts b/src/panels/lovelace/elements/hui-state-icon-element.ts index 4420ae96c331..2c0c0bcf1298 100644 --- a/src/panels/lovelace/elements/hui-state-icon-element.ts +++ b/src/panels/lovelace/elements/hui-state-icon-element.ts @@ -32,7 +32,7 @@ export class HuiStateIconElement extends LitElement implements LovelaceElement { throw Error("Invalid Configuration: 'entity' required"); } - this._config = config; + this._config = { state_color: true, ...config }; } protected shouldUpdate(changedProps: PropertyValues): boolean { @@ -71,7 +71,7 @@ export class HuiStateIconElement extends LitElement implements LovelaceElement { hasAction(this._config.tap_action) ? "0" : undefined )} .overrideIcon=${this._config.icon} - stateColor + .stateColor=${this._config.state_color} > `; } diff --git a/src/panels/lovelace/elements/types.ts b/src/panels/lovelace/elements/types.ts index 7c848c64ea2b..e42f689e31f0 100644 --- a/src/panels/lovelace/elements/types.ts +++ b/src/panels/lovelace/elements/types.ts @@ -59,6 +59,7 @@ export interface StateIconElementConfig extends LovelaceElementConfig { hold_action?: ActionConfig; double_tap_action?: ActionConfig; icon?: string; + state_color?: boolean; } export interface StateLabelElementConfig extends LovelaceElementConfig { From 5617090c6dc2a1b98806890fd19c76dbc9a1874f Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Thu, 13 Feb 2020 21:07:28 -0600 Subject: [PATCH 2/3] address comments --- src/panels/lovelace/cards/hui-glance-card.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index d8656933a763..994216c2cc47 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -237,10 +237,9 @@ export class HuiGlanceCard extends LitElement implements LovelaceCard { .stateObj=${stateObj} .overrideIcon=${entityConf.icon} .overrideImage=${entityConf.image} - .stateColor=${entityConf.state_color === false || - entityConf.state_color - ? entityConf.state_color - : this._config!.state_color} + .stateColor=${(entityConf.state_color === false || + entityConf.state_color) ?? + this._config!.state_color} > ` : ""} From c19aa2f5c54f8ed54e7ece5a9e351fc3cc4e5579 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Fri, 14 Feb 2020 22:28:53 -0600 Subject: [PATCH 3/3] address comments --- src/panels/lovelace/cards/hui-button-card.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/panels/lovelace/cards/hui-button-card.ts b/src/panels/lovelace/cards/hui-button-card.ts index af6f1efec234..feff56643564 100644 --- a/src/panels/lovelace/cards/hui-button-card.ts +++ b/src/panels/lovelace/cards/hui-button-card.ts @@ -49,6 +49,7 @@ export class HuiButtonCard extends LitElement implements LovelaceCard { hold_action: { action: "more-info" }, show_icon: true, show_name: true, + state_color: true, }; } @@ -148,7 +149,9 @@ export class HuiButtonCard extends LitElement implements LovelaceCard { ? html`