From e406a50b501923024635e2e0f865bdf3296c5056 Mon Sep 17 00:00:00 2001 From: Jason Hu Date: Sat, 23 Feb 2019 13:39:14 -0800 Subject: [PATCH] Relaod lovelace config if language changed (#2805) --- src/panels/lovelace/ha-panel-lovelace.ts | 13 +++++++++++++ src/panels/lovelace/types.ts | 1 + 2 files changed, 14 insertions(+) diff --git a/src/panels/lovelace/ha-panel-lovelace.ts b/src/panels/lovelace/ha-panel-lovelace.ts index 1b9d3edbd0..f54c0a9b12 100644 --- a/src/panels/lovelace/ha-panel-lovelace.ts +++ b/src/panels/lovelace/ha-panel-lovelace.ts @@ -120,6 +120,18 @@ class LovelacePanel extends LitElement { this._updateColumns(); } + public connectedCallback(): void { + super.connectedCallback(); + if ( + this.lovelace && + this.hass && + this.lovelace.language !== this.hass.language + ) { + // language has been changed, rebuild UI + this._fetchConfig(false); + } + } + private _closeEditor() { this._state = "loaded"; } @@ -163,6 +175,7 @@ class LovelacePanel extends LitElement { config: conf, editMode: this.lovelace ? this.lovelace.editMode : false, mode: confMode, + language: this.hass!.language, enableFullEditMode: () => { if (!editorLoaded) { editorLoaded = true; diff --git a/src/panels/lovelace/types.ts b/src/panels/lovelace/types.ts index 54bb13bb50..85f36b1c33 100644 --- a/src/panels/lovelace/types.ts +++ b/src/panels/lovelace/types.ts @@ -12,6 +12,7 @@ export interface Lovelace { config: LovelaceConfig; editMode: boolean; mode: "generated" | "yaml" | "storage"; + language: string; enableFullEditMode: () => void; setEditMode: (editMode: boolean) => void; saveConfig: (newConfig: LovelaceConfig) => Promise;