diff --git a/src/panels/lovelace/components/hui-entity-editor.ts b/src/panels/lovelace/components/hui-entity-editor.ts index 886dc206a8..7c9212e3a1 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 8c8a4b4de1..71c9017183 100644 --- a/src/panels/lovelace/components/hui-theme-select-editor.ts +++ b/src/panels/lovelace/components/hui-theme-select-editor.ts @@ -31,7 +31,7 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { > ${ @@ -57,8 +57,11 @@ export class HuiThemeSelectionEditor extends hassLocalizeLitMixin(LitElement) { } private _changed(ev): void { + if (!this.hass || 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 f4d761ddda..25452f64f2 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 @@ -26,11 +26,15 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) private _configEntities?: ConfigEntity[]; static get properties(): PropertyDeclarations { - return { - hass: {}, - _config: {}, - _configEntities: {}, - }; + return { hass: {}, _config: {}, _configEntities: {} }; + } + + get _title(): string { + return this._config!.title || ""; + } + + get _theme(): string { + return this._config!.theme || "Backend-selected"; } public setConfig(config: Config): void { @@ -47,20 +51,20 @@ export class HuiEntitiesCardEditor extends hassLocalizeLitMixin(LitElement) ${this.renderStyle()} { + 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 +364,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); } }