From c00a56664c6129acd7351fdae71488be82a2fba0 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Mon, 20 Jan 2020 22:28:31 -0600 Subject: [PATCH 1/3] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20convert=20more-info-sc?= =?UTF-8?q?ript=20to=20Lit/TypeScript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controls/{more-info-script.js => more-info-script.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/dialogs/more-info/controls/{more-info-script.js => more-info-script.ts} (100%) diff --git a/src/dialogs/more-info/controls/more-info-script.js b/src/dialogs/more-info/controls/more-info-script.ts similarity index 100% rename from src/dialogs/more-info/controls/more-info-script.js rename to src/dialogs/more-info/controls/more-info-script.ts From f3191c3cd681fa62c57b970f26e99e12f4b82a0c Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Mon, 20 Jan 2020 22:29:35 -0600 Subject: [PATCH 2/3] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20convert=20more-info-sc?= =?UTF-8?q?ript=20to=20LitElement/TypeScript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../more-info/controls/more-info-script.ts | 58 +++++++++++-------- src/translations/en.json | 3 +- 2 files changed, 37 insertions(+), 24 deletions(-) diff --git a/src/dialogs/more-info/controls/more-info-script.ts b/src/dialogs/more-info/controls/more-info-script.ts index fec483e033ef..6586744a01ab 100644 --- a/src/dialogs/more-info/controls/more-info-script.ts +++ b/src/dialogs/more-info/controls/more-info-script.ts @@ -1,31 +1,43 @@ -import "@polymer/iron-flex-layout/iron-flex-layout-classes"; -import { html } from "@polymer/polymer/lib/utils/html-tag"; -import { PolymerElement } from "@polymer/polymer/polymer-element"; -import LocalizeMixin from "../../../mixins/localize-mixin"; +import { + LitElement, + html, + TemplateResult, + property, + customElement, +} from "lit-element"; +import { HassEntity } from "home-assistant-js-websocket"; -class MoreInfoScript extends LocalizeMixin(PolymerElement) { - static get template() { - return html` - +import { HomeAssistant } from "../../../types"; +import format_date_time from "../../../common/datetime/format_date_time"; + +@customElement("more-info-script") +class MoreInfoScript extends LitElement { + @property() public hass!: HomeAssistant; + @property() public stateObj?: HassEntity; + + protected render(): TemplateResult | void { + if (!this.hass || !this.stateObj) { + return html``; + } -
-
-
- [[localize('ui.dialogs.more_info_control.script.last_action')]] -
-
[[stateObj.attributes.last_action]]
-
+ return html` +
+ ${this.hass.localize( + "ui.dialogs.more_info_control.script.last_triggered" + )}: + ${this.stateObj.attributes.last_triggered + ? format_date_time( + new Date(this.stateObj.attributes.last_triggered), + this.hass.language + ) + : this.hass.localize("ui.components.relative_time.never")}
`; } +} - static get properties() { - return { - stateObj: { - type: Object, - }, - }; +declare global { + interface HTMLElementTagNameMap { + "more-info-script": MoreInfoScript; } } - -customElements.define("more-info-script", MoreInfoScript); diff --git a/src/translations/en.json b/src/translations/en.json index 448baa3b9347..53c13dbfc616 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -574,7 +574,8 @@ "settings": "Entity settings", "edit": "Edit entity", "script": { - "last_action": "Last Action" + "last_action": "Last Action", + "last_triggered": "Last Triggered" }, "sun": { "elevation": "Elevation", From 124f6a9ce614c833c7c2dcdec325aa387841340c Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Tue, 21 Jan 2020 13:38:54 -0600 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=91=8C=20use=20relative=20time?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dialogs/more-info/controls/more-info-script.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/dialogs/more-info/controls/more-info-script.ts b/src/dialogs/more-info/controls/more-info-script.ts index 6586744a01ab..512cac1c43bf 100644 --- a/src/dialogs/more-info/controls/more-info-script.ts +++ b/src/dialogs/more-info/controls/more-info-script.ts @@ -8,7 +8,8 @@ import { import { HassEntity } from "home-assistant-js-websocket"; import { HomeAssistant } from "../../../types"; -import format_date_time from "../../../common/datetime/format_date_time"; + +import "../../../components/ha-relative-time"; @customElement("more-info-script") class MoreInfoScript extends LitElement { @@ -26,10 +27,12 @@ class MoreInfoScript extends LitElement { "ui.dialogs.more_info_control.script.last_triggered" )}: ${this.stateObj.attributes.last_triggered - ? format_date_time( - new Date(this.stateObj.attributes.last_triggered), - this.hass.language - ) + ? html` + + ` : this.hass.localize("ui.components.relative_time.never")}
`;