diff --git a/src/panels/lovelace/components/hui-yaml-editor.ts b/src/panels/lovelace/components/hui-yaml-editor.ts index 388ec016f7..ba6c51cdba 100644 --- a/src/panels/lovelace/components/hui-yaml-editor.ts +++ b/src/panels/lovelace/components/hui-yaml-editor.ts @@ -9,6 +9,7 @@ declare global { "yaml-changed": { value: string; }; + "yaml-save": {}; } } @@ -18,15 +19,28 @@ export class HuiYamlEditor extends HTMLElement { public constructor() { super(); + CodeMirror.commands.save = () => { + fireEvent(this, "yaml-save"); + }; this._value = ""; const shadowRoot = this.attachShadow({ mode: "open" }); shadowRoot.innerHTML = ` `; } @@ -44,6 +58,10 @@ export class HuiYamlEditor extends HTMLElement { return this.codemirror.getValue(); } + get hasComments(): boolean { + return this.shadowRoot!.querySelector("span.cm-comment") ? true : false; + } + public connectedCallback(): void { if (!this.codemirror) { this.codemirror = CodeMirror(this.shadowRoot, { diff --git a/src/panels/lovelace/hui-editor.ts b/src/panels/lovelace/hui-editor.ts index 746445bc1c..73501d94c0 100644 --- a/src/panels/lovelace/hui-editor.ts +++ b/src/panels/lovelace/hui-editor.ts @@ -30,16 +30,13 @@ class LovelaceFullConfigEditor extends LitElement { public closeEditor?: () => void; private _saving?: boolean; private _changed?: boolean; - private _hashAdded?: boolean; - private _hash?: boolean; + private _generation?: number; static get properties() { return { lovelace: {}, _saving: {}, _changed: {}, - _hashAdded: {}, - _hash: {}, }; } @@ -53,11 +50,6 @@ class LovelaceFullConfigEditor extends LitElement { @click="${this._closeEditor}" >