From 3bca32c6d552cbbefb28165a2f4a8aad8f34cb83 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 15 Sep 2020 08:42:09 +0200 Subject: [PATCH] Disable cloud expose controls when yaml filter (#6990) --- src/components/ha-button-menu.ts | 28 ++-- src/panels/config/cloud/alexa/cloud-alexa.ts | 125 +++++++++--------- .../cloud-google-assistant.ts | 125 +++++++++--------- 3 files changed, 144 insertions(+), 134 deletions(-) diff --git a/src/components/ha-button-menu.ts b/src/components/ha-button-menu.ts index e325925d57..7adc266a56 100644 --- a/src/components/ha-button-menu.ts +++ b/src/components/ha-button-menu.ts @@ -1,17 +1,16 @@ -import { - customElement, - html, - TemplateResult, - LitElement, - CSSResult, - css, - query, - property, -} from "lit-element"; import "@material/mwc-button"; import "@material/mwc-menu"; -import type { Menu, Corner } from "@material/mwc-menu"; - +import type { Corner, Menu } from "@material/mwc-menu"; +import { + css, + CSSResult, + customElement, + html, + LitElement, + property, + query, + TemplateResult, +} from "lit-element"; import "./ha-icon-button"; @customElement("ha-button-menu") @@ -22,6 +21,8 @@ export class HaButtonMenu extends LitElement { @property({ type: Boolean }) public activatable = false; + @property({ type: Boolean }) public disabled = false; + @query("mwc-menu") private _menu?: Menu; public get items() { @@ -48,6 +49,9 @@ export class HaButtonMenu extends LitElement { } private _handleClick(): void { + if (this.disabled) { + return; + } this._menu!.anchor = this; this._menu!.show(); } diff --git a/src/panels/config/cloud/alexa/cloud-alexa.ts b/src/panels/config/cloud/alexa/cloud-alexa.ts index 948d542680..9fb80369d9 100644 --- a/src/panels/config/cloud/alexa/cloud-alexa.ts +++ b/src/panels/config/cloud/alexa/cloud-alexa.ts @@ -124,6 +124,26 @@ class CloudAlexa extends LitElement { ? exposedCards : notExposedCards; + const iconButton = html` + + `; + target.push(html`
@@ -139,67 +159,50 @@ class CloudAlexa extends LitElement { .map((ifc) => ifc.replace(/(Alexa.|Controller)/g, "")) .join(", ")} - - - - - - ${this.hass!.localize( - "ui.panel.config.cloud.alexa.expose_entity" - )} - - - - ${this.hass!.localize( - "ui.panel.config.cloud.alexa.dont_expose_entity" - )} - - - - ${this.hass!.localize( - "ui.panel.config.cloud.alexa.follow_domain" - )} - - - + ${!emptyFilter + ? html`${iconButton}` + : html` + ${iconButton} + + ${this.hass!.localize( + "ui.panel.config.cloud.google.expose_entity" + )} + + + + ${this.hass!.localize( + "ui.panel.config.cloud.google.dont_expose_entity" + )} + + + + ${this.hass!.localize( + "ui.panel.config.cloud.google.follow_domain" + )} + + + `}
diff --git a/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts b/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts index 49b56ea32c..40067a0eaf 100644 --- a/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts +++ b/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts @@ -130,6 +130,26 @@ class CloudGoogleAssistant extends LitElement { ? exposedCards : notExposedCards; + const iconButton = html` + + `; + target.push(html`
@@ -144,67 +164,50 @@ class CloudGoogleAssistant extends LitElement { .map((trait) => trait.substr(trait.lastIndexOf(".") + 1)) .join(", ")} - - - - - - ${this.hass!.localize( - "ui.panel.config.cloud.google.expose_entity" - )} - - - - ${this.hass!.localize( - "ui.panel.config.cloud.google.dont_expose_entity" - )} - - - - ${this.hass!.localize( - "ui.panel.config.cloud.google.follow_domain" - )} - - - + ${!emptyFilter + ? html`${iconButton}` + : html` + ${iconButton} + + ${this.hass!.localize( + "ui.panel.config.cloud.google.expose_entity" + )} + + + + ${this.hass!.localize( + "ui.panel.config.cloud.google.dont_expose_entity" + )} + + + + ${this.hass!.localize( + "ui.panel.config.cloud.google.follow_domain" + )} + + + `}
${entity.might_2fa ? html`