From ffd272d3fee68c0d3eeff327508a2e43bcd29db8 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 2 Jun 2019 13:37:55 -0700 Subject: [PATCH] Fix refreshing cloud prefs after changing Google prefs (#3240) --- .../config/cloud/ha-config-cloud-google-assistant.ts | 2 +- src/panels/config/ha-panel-config.ts | 7 +++++++ src/polymer-types.ts | 1 - 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/panels/config/cloud/ha-config-cloud-google-assistant.ts b/src/panels/config/cloud/ha-config-cloud-google-assistant.ts index cc0f799a19..74e51dd90b 100644 --- a/src/panels/config/cloud/ha-config-cloud-google-assistant.ts +++ b/src/panels/config/cloud/ha-config-cloud-google-assistant.ts @@ -249,7 +249,7 @@ class CloudGoogleAssistant extends LitElement { // Cache parent because by the time popstate happens, // this element is detached const parent = this.parentElement!; - this.addEventListener( + window.addEventListener( "popstate", () => fireEvent(parent, "ha-refresh-cloud-status"), { once: true } diff --git a/src/panels/config/ha-panel-config.ts b/src/panels/config/ha-panel-config.ts index 3feabe3b9c..7e286ca218 100644 --- a/src/panels/config/ha-panel-config.ts +++ b/src/panels/config/ha-panel-config.ts @@ -6,6 +6,13 @@ import { CloudStatus, fetchCloudStatus } from "../../data/cloud"; import { listenMediaQuery } from "../../common/dom/media_query"; import { HassRouterPage, RouterOptions } from "../../layouts/hass-router-page"; +declare global { + // for fire event + interface HASSDomEvents { + "ha-refresh-cloud-status": undefined; + } +} + @customElement("ha-panel-config") class HaPanelConfig extends HassRouterPage { @property() public hass!: HomeAssistant; diff --git a/src/polymer-types.ts b/src/polymer-types.ts index b00de62941..ee65e1d8d0 100644 --- a/src/polymer-types.ts +++ b/src/polymer-types.ts @@ -30,7 +30,6 @@ declare global { "hass-logout": undefined; "iron-resize": undefined; "config-refresh": undefined; - "ha-refresh-cloud-status": undefined; "hass-api-called": { success: boolean; response: unknown;