From aecbfeaaa0fe74baecee9c6cfb16f1f83ed594b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Tue, 31 May 2022 11:39:56 +0000 Subject: [PATCH] Force editor rebuild on stack card switch --- .../editor/config-elements/hui-stack-card-editor.ts | 3 +++ src/panels/lovelace/editor/hui-element-editor.ts | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts index a9d822bcd1..5ed0bab88a 100644 --- a/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts @@ -167,6 +167,9 @@ export class HuiStackCardEditor this._setMode(true); this._guiModeAvailable = true; this._selectedCard = parseInt(ev.detail.selected, 10); + if (this._cardEditorEl) { + this._cardEditorEl.forceRebuild = true; + } } protected _handleConfigChanged(ev: HASSDomEvent) { diff --git a/src/panels/lovelace/editor/hui-element-editor.ts b/src/panels/lovelace/editor/hui-element-editor.ts index e06cb7d83b..f3480a6dde 100644 --- a/src/panels/lovelace/editor/hui-element-editor.ts +++ b/src/panels/lovelace/editor/hui-element-editor.ts @@ -53,6 +53,8 @@ export abstract class HuiElementEditor extends LitElement { @property({ attribute: false }) public lovelace?: LovelaceConfig; + public forceRebuild = false; + @state() private _yaml?: string; @state() private _config?: T; @@ -292,7 +294,11 @@ export abstract class HuiElementEditor extends LitElement { this._errors = undefined; this._warnings = undefined; - if (this._configElementType !== this.configElementType) { + if ( + this._configElementType !== this.configElementType || + this.forceRebuild + ) { + this.forceRebuild = false; // If the type has changed, we need to load a new GUI editor this._guiSupported = undefined; this._configElement = undefined;