From 70b81de49ddbcad31d049d6097e43fc600885d4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 2 Jan 2020 21:15:26 +0100 Subject: [PATCH] Force rerender on update/save (#4396) * Force rerender on update/save * Fix linting issue * Define properties by using @property() instead * Add styles to disabled save button * Change to use @customElement, and remove _generation as a property. --- src/panels/lovelace/hui-editor.ts | 44 ++++++++++++++++++------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/panels/lovelace/hui-editor.ts b/src/panels/lovelace/hui-editor.ts index bc33d43ef9..8ae1919d25 100644 --- a/src/panels/lovelace/hui-editor.ts +++ b/src/panels/lovelace/hui-editor.ts @@ -1,4 +1,12 @@ -import { LitElement, html, TemplateResult, CSSResult, css } from "lit-element"; +import { + customElement, + LitElement, + html, + TemplateResult, + CSSResult, + css, + property, +} from "lit-element"; import { classMap } from "lit-html/directives/class-map"; import { safeDump, safeLoad } from "js-yaml"; @@ -27,23 +35,15 @@ const lovelaceStruct = struct.interface({ resources: struct.optional(["object"]), }); +@customElement("hui-editor") class LovelaceFullConfigEditor extends LitElement { - public hass!: HomeAssistant; - public lovelace?: Lovelace; - public closeEditor?: () => void; - private _saving?: boolean; - private _changed?: boolean; - private _generation = 1; + @property() public hass!: HomeAssistant; + @property() public lovelace?: Lovelace; + @property() public closeEditor?: () => void; + @property() private _saving?: boolean; + @property() private _changed?: boolean; - static get properties() { - return { - hass: {}, - lovelace: {}, - closeEditor: {}, - _saving: {}, - _changed: {}, - }; - } + private _generation = 1; public render(): TemplateResult | void { return html` @@ -73,7 +73,10 @@ class LovelaceFullConfigEditor extends LitElement { "ui.panel.lovelace.editor.raw_editor.saved" )} - ${this.hass!.localize( "ui.panel.lovelace.editor.raw_editor.save" )}