diff --git a/panels/config/core/ha-config-section-translation.html b/panels/config/core/ha-config-section-translation.html index 9379c8e187..c727929e81 100644 --- a/panels/config/core/ha-config-section-translation.html +++ b/panels/config/core/ha-config-section-translation.html @@ -18,7 +18,7 @@
- + @@ -48,13 +48,17 @@ class HaConfigSectionTranslation extends isWide: { type: Boolean, }, - + languageSelection: { + type: String, + observer: 'languageSelectionChanged', + }, languages: { type: Array, computed: 'computeLanguages(hass)', }, }; } + static get observers() { return ['setLanguageSelection(language)']; } computeLanguages(hass) { if (!hass || !hass.translationMetadata) { @@ -66,11 +70,15 @@ class HaConfigSectionTranslation extends })); } - handleLanguageSelect(ev) { + setLanguageSelection(language) { + this.languageSelection = language; + } + + languageSelectionChanged(newVal) { // Only fire event if language was changed. This prevents select updates when // responding to hass changes. - if (ev.detail.value && ev.detail.value.languageTag !== this.language) { - this.fire('hass-language-select', { language: ev.detail.value.languageTag }); + if (newVal !== this.language) { + this.fire('hass-language-select', { language: newVal }); } } }