From ce8310030fd005c37e7b344e4e190863afc9626c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Thu, 21 Feb 2019 08:58:11 +0100 Subject: [PATCH] Open and close popups --- card-tools.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/card-tools.js b/card-tools.js index 1db3785..2b0dd69 100644 --- a/card-tools.js +++ b/card-tools.js @@ -19,6 +19,10 @@ class { return this.litElement().prototype.html; } + static get litCSS() { + return this.litElement().prototype.css; + } + static hass() { return document.querySelector('home-assistant').hass; } @@ -268,6 +272,48 @@ class { return def; } + static popUp(title, message, large=false) { + let popup = document.createElement('div'); + popup.innerHTML = ` + + + +
+ ${title} +
+
+ `; + popup.appendChild(message); + cardTools.moreInfo(Object.keys(cardTools.hass().states)[0]); + let moreInfo = document.querySelector("home-assistant")._moreInfoEl; + moreInfo._page = "none"; + moreInfo.shadowRoot.appendChild(popup); + moreInfo.large = large; + + setTimeout(() => { + let interval = setInterval(() => { + if (moreInfo.getAttribute('aria-hidden')) { + popup.parentNode.removeChild(popup); + clearInterval(interval); + } else { + message.hass = cardTools.hass(); + } + }, 100) + }, 1000); + } + static closePopUp() { + let moreInfo = document.querySelector("home-assistant")._moreInfoEl; + if (moreInfo) moreInfo.close() + } + }); // Global definition of cardTools