From 1a2398a8d363fa19b6aad8532f4384e387ecadfd Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 12 Nov 2018 22:12:26 +0100 Subject: [PATCH 01/10] dont change config on init --- .../components/hui-theme-select-editor.ts | 17 ++++++++++++ .../config-elements/hui-glance-card-editor.ts | 26 ++++++++++++++----- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/panels/lovelace/components/hui-theme-select-editor.ts b/src/panels/lovelace/components/hui-theme-select-editor.ts index 8c8a4b4de1da..620619cad0e0 100644 --- a/src/panels/lovelace/components/hui-theme-select-editor.ts +++ b/src/panels/lovelace/components/hui-theme-select-editor.ts @@ -9,6 +9,7 @@ import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin"; export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { public value?: string; protected hass?: HomeAssistant; + private _initializing?: boolean; static get properties(): PropertyDeclarations { return { @@ -17,6 +18,18 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { }; } + protected constructor() { + super(); + this._initializing = true; + } + protected async update(changedProps) { + super.update(changedProps); + if (this._initializing) { + await this.updateComplete; + this._initializing = false; + } + } + protected render(): TemplateResult { const themes = ["Backend-selected", "default"].concat( Object.keys(this.hass!.themes.themes).sort() @@ -57,6 +70,10 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { } private _changed(ev): void { + if (!this.hass || this._initializing) { + return; + } + this.value = ev.target.value; fireEvent(this, "change"); } diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index 5b52e8f89b5a..9a8e1a86b14b 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -24,6 +24,25 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) public hass?: HomeAssistant; private _config?: Config; private _configEntities?: ConfigEntity[]; + private _initializing?: boolean; + + protected constructor() { + super(); + this._initializing = true; + } + + public setConfig(config: Config): void { + this._config = { type: "glance", ...config }; + this._configEntities = processEditorEntities(config.entities); + } + + protected async update(changedProps) { + super.update(changedProps); + if (this._initializing) { + await this.updateComplete; + this._initializing = false; + } + } static get properties(): PropertyDeclarations { return { @@ -33,11 +52,6 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) }; } - public setConfig(config: Config): void { - this._config = { type: "glance", ...config }; - this._configEntities = processEditorEntities(config.entities); - } - protected render(): TemplateResult { if (!this.hass) { return html``; @@ -84,7 +98,7 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) } private _valueChanged(ev: EntitiesEditorEvent): void { - if (!this._config || !this.hass) { + if (!this._config || !this.hass || this._initializing) { return; } From b288103e42f6d70a76f69751726713d02d496b53 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 13 Nov 2018 09:15:44 +0100 Subject: [PATCH 02/10] set default title empty --- .../lovelace/editor/config-elements/hui-glance-card-editor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index 9a8e1a86b14b..5e589084554d 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -61,7 +61,7 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) ${this.renderStyle()} From 5d6fd3ff3e9c6a3e003c1f27bca53e275477f561 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 19 Nov 2018 14:13:18 +0100 Subject: [PATCH 03/10] used firstUpdated instead of updated --- src/panels/lovelace/components/hui-theme-select-editor.ts | 4 ++-- .../lovelace/editor/config-elements/hui-glance-card-editor.ts | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/panels/lovelace/components/hui-theme-select-editor.ts b/src/panels/lovelace/components/hui-theme-select-editor.ts index 620619cad0e0..fbec068190c0 100644 --- a/src/panels/lovelace/components/hui-theme-select-editor.ts +++ b/src/panels/lovelace/components/hui-theme-select-editor.ts @@ -22,8 +22,8 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { super(); this._initializing = true; } - protected async update(changedProps) { - super.update(changedProps); + + protected async firstUpdated(): Promise { if (this._initializing) { await this.updateComplete; this._initializing = false; diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index 5e589084554d..2373fe4bf62e 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -36,8 +36,7 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) this._configEntities = processEditorEntities(config.entities); } - protected async update(changedProps) { - super.update(changedProps); + protected async firstUpdated(): Promise { if (this._initializing) { await this.updateComplete; this._initializing = false; @@ -101,7 +100,6 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) if (!this._config || !this.hass || this._initializing) { return; } - const target = ev.target! as EditorTarget; let newConfig = this._config; From 23d01fd42b1cdad8e7f9fe099fd25bda3c30ef21 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 21 Nov 2018 18:26:40 +0100 Subject: [PATCH 04/10] prevent double events --- .../lovelace/components/hui-entity-editor.ts | 4 ++-- .../components/hui-theme-select-editor.ts | 5 ++-- .../hui-entities-card-editor.ts | 24 ++++++++++++++----- .../config-elements/hui-glance-card-editor.ts | 4 ++-- src/panels/lovelace/editor/hui-edit-card.ts | 8 +++++-- 5 files changed, 30 insertions(+), 15 deletions(-) diff --git a/src/panels/lovelace/components/hui-entity-editor.ts b/src/panels/lovelace/components/hui-entity-editor.ts index 886dc206a8ee..7c9212e3a1b4 100644 --- a/src/panels/lovelace/components/hui-entity-editor.ts +++ b/src/panels/lovelace/components/hui-entity-editor.ts @@ -52,7 +52,7 @@ export class HuiEntityEditor extends LitElement { private _addEntity() { const newConfigEntities = this.entities!.concat({ entity: "" }); - fireEvent(this, "change", { entities: newConfigEntities }); + fireEvent(this, "entities-changed", { entities: newConfigEntities }); } private _valueChanged(ev: Event): void { @@ -68,7 +68,7 @@ export class HuiEntityEditor extends LitElement { }; } - fireEvent(this, "change", { entities: newConfigEntities }); + fireEvent(this, "entities-changed", { entities: newConfigEntities }); } private renderStyle(): TemplateResult { diff --git a/src/panels/lovelace/components/hui-theme-select-editor.ts b/src/panels/lovelace/components/hui-theme-select-editor.ts index fbec068190c0..a6c8f2864b77 100644 --- a/src/panels/lovelace/components/hui-theme-select-editor.ts +++ b/src/panels/lovelace/components/hui-theme-select-editor.ts @@ -70,12 +70,11 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { } private _changed(ev): void { - if (!this.hass || this._initializing) { + if (!this.hass || this._initializing || ev.target.value === "") { return; } - this.value = ev.target.value; - fireEvent(this, "change"); + fireEvent(this, "theme-changed"); } } diff --git a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts index f4d761dddab5..da1c90d7dcd7 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts @@ -24,6 +24,12 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) public hass?: HomeAssistant; private _config?: Config; private _configEntities?: ConfigEntity[]; + private _initializing?: boolean; + + protected constructor() { + super(); + this._initializing = true; + } static get properties(): PropertyDeclarations { return { @@ -38,6 +44,13 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) this._configEntities = processEditorEntities(config.entities); } + protected async firstUpdated(): Promise { + if (this._initializing) { + await this.updateComplete; + this._initializing = false; + } + } + protected render(): TemplateResult { if (!this.hass) { return html``; @@ -55,12 +68,12 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) .hass="${this.hass}" .value="${this._config!.theme}" .configValue="${"theme"}" - @change="${this._valueChanged}" + @theme-changed="${this._valueChanged}" > { + if (!this._originalConfig) { + return; + } const conf = this._originalConfig; - const tag = conf!.type.startsWith(CUSTOM_TYPE_PREFIX) + const tag = conf.type.startsWith(CUSTOM_TYPE_PREFIX) ? conf!.type.substr(CUSTOM_TYPE_PREFIX.length) : `hui-${conf!.type}-card`; @@ -362,8 +365,9 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) { configElement.addEventListener("config-changed", (ev) => this._handleUIConfigChanged(ev.detail.config) ); - this._configValue = { format: "json", value: conf! }; + this._configValue = { format: "json", value: conf }; this._configElement = configElement; + this._updatePreview(conf); } } From 2728c25fb1fc668890c4c2986bb10dc8fa3983d7 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 21 Nov 2018 20:18:44 +0100 Subject: [PATCH 05/10] check if val changed --- .../lovelace/components/hui-entity-editor.ts | 8 ++- .../components/hui-theme-select-editor.ts | 25 ++------- .../hui-entities-card-editor.ts | 43 +++++++-------- .../config-elements/hui-glance-card-editor.ts | 53 ++++++++++--------- 4 files changed, 57 insertions(+), 72 deletions(-) diff --git a/src/panels/lovelace/components/hui-entity-editor.ts b/src/panels/lovelace/components/hui-entity-editor.ts index 7c9212e3a1b4..76c319b2e254 100644 --- a/src/panels/lovelace/components/hui-entity-editor.ts +++ b/src/panels/lovelace/components/hui-entity-editor.ts @@ -29,9 +29,8 @@ export class HuiEntityEditor extends LitElement { ${this.renderStyle()}

Entities

- ${ - this.entities.map((entityConf, index) => { - return html` + ${this.entities.map((entityConf, index) => { + return html` `; - }) - } + })}
Add Entity { - if (this._initializing) { - await this.updateComplete; - this._initializing = false; - } - } - protected render(): TemplateResult { const themes = ["Backend-selected", "default"].concat( Object.keys(this.hass!.themes.themes).sort() @@ -44,16 +31,14 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { > - ${ - themes.map((theme) => { - return html` + ${themes.map((theme) => { + return html` ${theme} `; - }) - } + })} `; @@ -70,7 +55,7 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { } private _changed(ev): void { - if (!this.hass || this._initializing || ev.target.value === "") { + if (!this.hass || ev.target.value === "") { return; } this.value = ev.target.value; diff --git a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts index da1c90d7dcd7..d6f1f20e716c 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts @@ -24,19 +24,17 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) public hass?: HomeAssistant; private _config?: Config; private _configEntities?: ConfigEntity[]; - private _initializing?: boolean; - protected constructor() { - super(); - this._initializing = true; + static get properties(): PropertyDeclarations { + return { hass: {}, _config: {}, _configEntities: {} }; } - static get properties(): PropertyDeclarations { - return { - hass: {}, - _config: {}, - _configEntities: {}, - }; + get _title() { + return this._config!.title || ""; + } + + get _theme() { + return this._config!.theme || "Backend-selected"; } public setConfig(config: Config): void { @@ -44,13 +42,6 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) this._configEntities = processEditorEntities(config.entities); } - protected async firstUpdated(): Promise { - if (this._initializing) { - await this.updateComplete; - this._initializing = false; - } - } - protected render(): TemplateResult { if (!this.hass) { return html``; @@ -60,13 +51,13 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) ${this.renderStyle()} @@ -85,12 +76,20 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) } private _valueChanged(ev: EntitiesEditorEvent): void { - if (!this._config || !this.hass || this._initializing) { + if (!this._config || !this.hass) { return; } const target = ev.target! as EditorTarget; let newConfig = this._config; + if (target.configValue! === "title" && target.value === this._title) { + return; + } + + if (target.configValue! === "theme" && target.value === this._theme) { + return; + } + if (ev.detail && ev.detail.entities) { newConfig.entities = ev.detail.entities; } else if (target.configValue) { @@ -101,9 +100,7 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) }; } - fireEvent(this, "config-changed", { - config: newConfig, - }); + fireEvent(this, "config-changed", { config: newConfig }); } private renderStyle(): TemplateResult { diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index e104ebff3ec7..0d9e125865d7 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -24,31 +24,26 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) public hass?: HomeAssistant; private _config?: Config; private _configEntities?: ConfigEntity[]; - private _initializing?: boolean; - - protected constructor() { - super(); - this._initializing = true; - } public setConfig(config: Config): void { this._config = { type: "glance", ...config }; this._configEntities = processEditorEntities(config.entities); } - protected async firstUpdated(): Promise { - if (this._initializing) { - await this.updateComplete; - this._initializing = false; - } + static get properties(): PropertyDeclarations { + return { hass: {}, _config: {}, _configEntities: {} }; } - static get properties(): PropertyDeclarations { - return { - hass: {}, - _config: {}, - _configEntities: {}, - }; + get _title() { + return this._config!.title || ""; + } + + get _theme() { + return this._config!.theme || "Backend-selected"; + } + + get _columns() { + return this._config!.columns || ""; } protected render(): TemplateResult { @@ -60,19 +55,19 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) ${this.renderStyle()} @@ -97,12 +92,24 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) } private _valueChanged(ev: EntitiesEditorEvent): void { - if (!this._config || !this.hass || this._initializing) { + if (!this._config || !this.hass) { return; } const target = ev.target! as EditorTarget; let newConfig = this._config; + if (target.configValue! === "title" && target.value === this._title) { + return; + } + + if (target.configValue! === "theme" && target.value === this._theme) { + return; + } + + if (target.configValue! === "columns" && target.value === this._columns) { + return; + } + if (ev.detail && ev.detail.entities) { newConfig.entities = ev.detail.entities; } else { @@ -113,9 +120,7 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) }; } - fireEvent(this, "config-changed", { - config: newConfig, - }); + fireEvent(this, "config-changed", { config: newConfig }); } private renderStyle(): TemplateResult { From b0533878e72db332c9a7ba967f98d5f92db9fe56 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 21 Nov 2018 20:24:57 +0100 Subject: [PATCH 06/10] typing --- .../editor/config-elements/hui-entities-card-editor.ts | 4 ++-- .../editor/config-elements/hui-glance-card-editor.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts index d6f1f20e716c..d9685bf81b2c 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts @@ -29,11 +29,11 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) return { hass: {}, _config: {}, _configEntities: {} }; } - get _title() { + get _title(): string { return this._config!.title || ""; } - get _theme() { + get _theme(): string { return this._config!.theme || "Backend-selected"; } diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index 0d9e125865d7..ca276a87fd7f 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -34,16 +34,16 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) return { hass: {}, _config: {}, _configEntities: {} }; } - get _title() { + get _title(): string { return this._config!.title || ""; } - get _theme() { + get _theme(): string { return this._config!.theme || "Backend-selected"; } - get _columns() { - return this._config!.columns || ""; + get _columns(): string { + return String(this._config!.columns) || ""; } protected render(): TemplateResult { From 0dac450979ad83ec69fd707f259a0bb21592f4ac Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 21 Nov 2018 20:30:00 +0100 Subject: [PATCH 07/10] clean --- .../config-elements/hui-entities-card-editor.ts | 11 ++++++----- .../config-elements/hui-glance-card-editor.ts | 15 ++++++--------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts index d9685bf81b2c..84cab62c5935 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts @@ -79,16 +79,17 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) if (!this._config || !this.hass) { return; } + const target = ev.target! as EditorTarget; - let newConfig = this._config; - if (target.configValue! === "title" && target.value === this._title) { + if ( + (target.configValue! === "title" && target.value === this._title) || + (target.configValue! === "theme" && target.value === this._theme) + ) { return; } - if (target.configValue! === "theme" && target.value === this._theme) { - return; - } + let newConfig = this._config; if (ev.detail && ev.detail.entities) { newConfig.entities = ev.detail.entities; diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index ca276a87fd7f..c96767cb5848 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -96,19 +96,16 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) return; } const target = ev.target! as EditorTarget; - let newConfig = this._config; - - if (target.configValue! === "title" && target.value === this._title) { - return; - } - if (target.configValue! === "theme" && target.value === this._theme) { + if ( + (target.configValue! === "title" && target.value === this._title) || + (target.configValue! === "theme" && target.value === this._theme) || + (target.configValue! === "columns" && target.value === this._columns) + ) { return; } - if (target.configValue! === "columns" && target.value === this._columns) { - return; - } + let newConfig = this._config; if (ev.detail && ev.detail.entities) { newConfig.entities = ev.detail.entities; From 78f31ee003cc600dd2c44682623b07aef4f9cf6e Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 21 Nov 2018 21:43:50 +0100 Subject: [PATCH 08/10] lint --- src/panels/lovelace/cards/hui-glance-card.ts | 20 ++++++++----------- .../lovelace/components/hui-entity-editor.ts | 16 +++++++-------- .../components/hui-theme-select-editor.ts | 4 +--- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index 3a09b856ed40..471a6a737f90 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -120,11 +120,9 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement) ${this.renderStyle()}
- ${ - this._configEntities!.map((entityConf) => - this.renderEntity(entityConf) - ) - } + ${this._configEntities!.map((entityConf) => + this.renderEntity(entityConf) + )}
`; @@ -224,13 +222,11 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement) this._config!.show_state !== false ? html`
- ${ - computeStateDisplay( - this.localize, - stateObj, - this.hass!.language - ) - } + ${computeStateDisplay( + this.localize, + stateObj, + this.hass!.language + )}
` : "" diff --git a/src/panels/lovelace/components/hui-entity-editor.ts b/src/panels/lovelace/components/hui-entity-editor.ts index 76c319b2e254..9fadb5f6f7a8 100644 --- a/src/panels/lovelace/components/hui-entity-editor.ts +++ b/src/panels/lovelace/components/hui-entity-editor.ts @@ -31,14 +31,14 @@ export class HuiEntityEditor extends LitElement {
${this.entities.map((entityConf, index) => { return html` - - `; + + `; })}
${themes.map((theme) => { - return html` - ${theme} - `; + return html`${theme}`; })} From f0fb261ae62cd6fa9faa193de1303af2f4576aa8 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 21 Nov 2018 23:08:40 +0100 Subject: [PATCH 09/10] clean --- .../config-elements/hui-entities-card-editor.ts | 9 ++++----- .../config-elements/hui-glance-card-editor.ts | 14 ++++++-------- src/panels/lovelace/editor/hui-edit-card.ts | 15 ++++++--------- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts index 84cab62c5935..25452f64f256 100644 --- a/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-entities-card-editor.ts @@ -89,19 +89,18 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) return; } - let newConfig = this._config; - if (ev.detail && ev.detail.entities) { - newConfig.entities = ev.detail.entities; + this._config.entities = ev.detail.entities; + this._configEntities = processEditorEntities(this._config.entities); } else if (target.configValue) { - newConfig = { + this._config = { ...this._config, [target.configValue]: target.checked !== undefined ? target.checked : target.value, }; } - fireEvent(this, "config-changed", { config: newConfig }); + fireEvent(this, "config-changed", { config: this._config }); } private renderStyle(): TemplateResult { diff --git a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts index c96767cb5848..dacbc481a067 100644 --- a/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-glance-card-editor.ts @@ -43,7 +43,7 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) } get _columns(): string { - return String(this._config!.columns) || ""; + return this._config!.columns ? String(this._config!.columns) : ""; } protected render(): TemplateResult { @@ -105,19 +105,17 @@ export class HuiGlanceCardEditor extends hassLocalizeLitMixin(LitElement) return; } - let newConfig = this._config; - if (ev.detail && ev.detail.entities) { - newConfig.entities = ev.detail.entities; - } else { - newConfig = { + this._config.entities = ev.detail.entities; + this._configEntities = processEditorEntities(this._config.entities); + } else if (target.configValue) { + this._config = { ...this._config, [target.configValue!]: target.checked !== undefined ? target.checked : target.value, }; } - - fireEvent(this, "config-changed", { config: newConfig }); + fireEvent(this, "config-changed", { config: this._config }); } private renderStyle(): TemplateResult { diff --git a/src/panels/lovelace/editor/hui-edit-card.ts b/src/panels/lovelace/editor/hui-edit-card.ts index e8c3b2f8f2c1..ee9538f69d0c 100644 --- a/src/panels/lovelace/editor/hui-edit-card.ts +++ b/src/panels/lovelace/editor/hui-edit-card.ts @@ -125,11 +125,9 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) { ${ - this.localize( - "ui.panel.lovelace.editor.edit.toggle_editor" - ) - }${this.localize( + "ui.panel.lovelace.editor.edit.toggle_editor" + )} ${this.localize("ui.common.cancel")} - ${ - this.localize("ui.panel.lovelace.editor.edit.save") - } ` @@ -291,7 +289,6 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) { } private _handleUIConfigChanged(value: LovelaceConfig): void { - this._configElement!.setConfig(value); this._configValue = { format: "json", value }; this._updatePreview(value); } From 1cae46954abbc613da42bbaddd05b13d7e51f033 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Thu, 22 Nov 2018 00:26:25 +0100 Subject: [PATCH 10/10] prettier is having a fight --- src/panels/lovelace/cards/hui-glance-card.ts | 20 +++++++++------- .../lovelace/components/hui-entity-editor.ts | 24 ++++++++++--------- .../components/hui-theme-select-editor.ts | 10 +++++--- src/panels/lovelace/editor/hui-edit-card.ts | 14 ++++++----- 4 files changed, 40 insertions(+), 28 deletions(-) diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index 471a6a737f90..3a09b856ed40 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -120,9 +120,11 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement) ${this.renderStyle()}
- ${this._configEntities!.map((entityConf) => - this.renderEntity(entityConf) - )} + ${ + this._configEntities!.map((entityConf) => + this.renderEntity(entityConf) + ) + }
`; @@ -222,11 +224,13 @@ export class HuiGlanceCard extends hassLocalizeLitMixin(LitElement) this._config!.show_state !== false ? html`
- ${computeStateDisplay( - this.localize, - stateObj, - this.hass!.language - )} + ${ + computeStateDisplay( + this.localize, + stateObj, + this.hass!.language + ) + }
` : "" diff --git a/src/panels/lovelace/components/hui-entity-editor.ts b/src/panels/lovelace/components/hui-entity-editor.ts index 9fadb5f6f7a8..7c9212e3a1b4 100644 --- a/src/panels/lovelace/components/hui-entity-editor.ts +++ b/src/panels/lovelace/components/hui-entity-editor.ts @@ -29,17 +29,19 @@ export class HuiEntityEditor extends LitElement { ${this.renderStyle()}

Entities

- ${this.entities.map((entityConf, index) => { - return html` - - `; - })} + ${ + this.entities.map((entityConf, index) => { + return html` + + `; + }) + }
Add Entity - ${themes.map((theme) => { - return html`${theme}`; - })} + ${ + themes.map((theme) => { + return html` + ${theme} + `; + }) + } `; diff --git a/src/panels/lovelace/editor/hui-edit-card.ts b/src/panels/lovelace/editor/hui-edit-card.ts index ee9538f69d0c..2ffd9ff5cc4d 100644 --- a/src/panels/lovelace/editor/hui-edit-card.ts +++ b/src/panels/lovelace/editor/hui-edit-card.ts @@ -125,9 +125,11 @@ export class HuiEditCard extends hassLocalizeLitMixin(LitElement) { ${this.localize( - "ui.panel.lovelace.editor.edit.toggle_editor" - )}${ + this.localize( + "ui.panel.lovelace.editor.edit.toggle_editor" + ) + } ${this.localize("ui.common.cancel")} - ${this.localize( - "ui.panel.lovelace.editor.edit.save" - )} `