From 86658c0236d5c129d54fa478d2af4660bfc47824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Mon, 11 Mar 2019 19:47:47 +0100 Subject: [PATCH] Fix thomasloven/lovelace-card-tools#16 --- card-tools.js | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/card-tools.js b/card-tools.js index 61479d0..5ae38d6 100644 --- a/card-tools.js +++ b/card-tools.js @@ -46,27 +46,32 @@ class { if(entity) { entity.dispatchEvent(ev); } else { - var root = document - .querySelector("home-assistant") - .shadowRoot.querySelector("home-assistant-main") - .shadowRoot.querySelector("app-drawer-layout partial-panel-resolver") - .shadowRoot.querySelector("ha-panel-lovelace") - .shadowRoot.querySelector("hui-root") - if (root) - root - .shadowRoot.querySelector("ha-app-layout #view") - .firstElementChild - .dispatchEvent(ev); + var root = document.querySelector("home-assistant"); + root = root && root.shadowRoot; + root = root && root.querySelector("home-assistant-main"); + root = root && root.shadowRoot; + root = root && root.querySelector("app-drawer-layout partial-panel-resolver"); + root = root && root.shadowRoot; + root = root && root.querySelector("ha-panel-lovelace"); + root = root && root.shadowRoot; + root = root && root.querySelector("hui-root"); + root = root && root.shadowRoot; + root = root && root.querySelector("ha-app-layout #view"); + root = root && root.firstElementChild; + if (root) root.dispatchEvent(ev); } } static get lovelace() { - var root = document - .querySelector("home-assistant") - .shadowRoot.querySelector("home-assistant-main") - .shadowRoot.querySelector("app-drawer-layout partial-panel-resolver") - .shadowRoot.querySelector("ha-panel-lovelace") - .shadowRoot.querySelector("hui-root") + var root = document.querySelector("home-assistant"); + root = root && root.shadowRoot; + root = root && root.querySelector("home-assistant-main"); + root = root && root.shadowRoot; + root = root && root.querySelector("app-drawer-layout partial-panel-resolver"); + root = root && root.shadowRoot; + root = root && root.querySelector("ha-panel-lovelace") + root = root && root.shadowRoot; + root = root && root.querySelector("hui-root") if (root) { var ll = root.lovelace ll.current_view = root.___curView;