From ba2433e8de7cd51d730e5967cbd8e7932ec900df Mon Sep 17 00:00:00 2001
From: Paul Bottein
Date: Thu, 9 Nov 2023 08:29:21 +0100
Subject: [PATCH 1/2] Only update dev tools yaml editor on entity change or
submit
---
.../state/developer-tools-state.ts | 43 +++++++++++--------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/src/panels/developer-tools/state/developer-tools-state.ts b/src/panels/developer-tools/state/developer-tools-state.ts
index ba32df918f23..4b180955e3e7 100644
--- a/src/panels/developer-tools/state/developer-tools-state.ts
+++ b/src/panels/developer-tools/state/developer-tools-state.ts
@@ -1,38 +1,39 @@
-import { addHours } from "date-fns/esm";
-import "@material/mwc-button";
import {
mdiClipboardTextMultipleOutline,
mdiInformationOutline,
mdiRefresh,
} from "@mdi/js";
-import { CSSResultGroup, LitElement, css, html, nothing } from "lit";
-import { customElement, property, state } from "lit/decorators";
+import { addHours } from "date-fns/esm";
import {
HassEntities,
HassEntity,
HassEntityAttributeBase,
} from "home-assistant-js-websocket";
-import memoizeOne from "memoize-one";
import { dump } from "js-yaml";
+import { CSSResultGroup, LitElement, css, html, nothing } from "lit";
+import { customElement, property, query, state } from "lit/decorators";
+import memoizeOne from "memoize-one";
import { formatDateTimeWithSeconds } from "../../../common/datetime/format_date_time";
-import { computeRTL } from "../../../common/util/compute_rtl";
+import { storage } from "../../../common/decorators/storage";
+import { fireEvent } from "../../../common/dom/fire_event";
+import { toggleAttribute } from "../../../common/dom/toggle_attribute";
import { escapeRegExp } from "../../../common/string/escape_regexp";
+import { computeRTL } from "../../../common/util/compute_rtl";
import { copyToClipboard } from "../../../common/util/copy-clipboard";
import "../../../components/entity/ha-entity-picker";
-import "../../../components/ha-yaml-editor";
+import "../../../components/ha-alert";
+import "../../../components/ha-button";
+import "../../../components/ha-checkbox";
+import "../../../components/ha-expansion-panel";
import "../../../components/ha-icon-button";
import "../../../components/ha-svg-icon";
-import "../../../components/ha-checkbox";
import "../../../components/ha-tip";
-import "../../../components/ha-alert";
+import "../../../components/ha-yaml-editor";
+import type { HaYamlEditor } from "../../../components/ha-yaml-editor";
import "../../../components/search-input";
-import "../../../components/ha-expansion-panel";
import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box";
import { haStyle } from "../../../resources/styles";
import { HomeAssistant } from "../../../types";
-import { fireEvent } from "../../../common/dom/fire_event";
-import { toggleAttribute } from "../../../common/dom/toggle_attribute";
-import { storage } from "../../../common/decorators/storage";
@customElement("developer-tools-state")
class HaPanelDevState extends LitElement {
@@ -70,6 +71,8 @@ class HaPanelDevState extends LitElement {
@property({ type: Boolean, reflect: true }) public rtl = false;
+ @query("ha-yaml-editor") private _yamlEditor?: HaYamlEditor;
+
private _filteredEntities = memoizeOne(
(
entityFilter: string,
@@ -151,20 +154,19 @@ class HaPanelDevState extends LitElement {
)}
- ${this.hass.localize(
"ui.panel.developer-tools.tabs.states.set_state"
- )}
Date: Thu, 9 Nov 2023 09:44:53 +0100
Subject: [PATCH 2/2] Update
src/panels/developer-tools/state/developer-tools-state.ts
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
---
src/panels/developer-tools/state/developer-tools-state.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/panels/developer-tools/state/developer-tools-state.ts b/src/panels/developer-tools/state/developer-tools-state.ts
index 4b180955e3e7..d46074b7afc5 100644
--- a/src/panels/developer-tools/state/developer-tools-state.ts
+++ b/src/panels/developer-tools/state/developer-tools-state.ts
@@ -365,6 +365,7 @@ class HaPanelDevState extends LitElement {
this._state = "";
this._stateAttributes = {};
this._updateEditor();
+ return;
}
const entityState = this.hass.states[this._entityId];
if (!entityState) {