From b99bb60cd0fd32a45cb4a97e3f042f21ec075d6b Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Sun, 27 Jul 2025 13:10:30 -0700 Subject: [PATCH] Cleanup some selectors firing double value-changed events (#26302) --- src/components/ha-selector/ha-selector-color-temp.ts | 1 + src/components/ha-selector/ha-selector-object.ts | 1 + src/components/ha-selector/ha-selector-template.ts | 1 + src/components/ha-selector/ha-selector-text.ts | 1 + src/components/ha-selector/ha-selector-ui-action.ts | 1 + src/components/ha-selector/ha-selector-ui-color.ts | 1 + 6 files changed, 6 insertions(+) diff --git a/src/components/ha-selector/ha-selector-color-temp.ts b/src/components/ha-selector/ha-selector-color-temp.ts index ef59e77996..b07b82ac66 100644 --- a/src/components/ha-selector/ha-selector-color-temp.ts +++ b/src/components/ha-selector/ha-selector-color-temp.ts @@ -95,6 +95,7 @@ export class HaColorTempSelector extends LitElement { ); private _valueChanged(ev: CustomEvent) { + ev.stopPropagation(); fireEvent(this, "value-changed", { value: Number((ev.detail as any).value), }); diff --git a/src/components/ha-selector/ha-selector-object.ts b/src/components/ha-selector/ha-selector-object.ts index 626699c4fe..a08e0a4c4e 100644 --- a/src/components/ha-selector/ha-selector-object.ts +++ b/src/components/ha-selector/ha-selector-object.ts @@ -279,6 +279,7 @@ export class HaObjectSelector extends LitElement { } private _handleChange(ev) { + ev.stopPropagation(); this._valueChangedFromChild = true; const value = ev.target.value; if (!ev.target.isValid) { diff --git a/src/components/ha-selector/ha-selector-template.ts b/src/components/ha-selector/ha-selector-template.ts index 555f09bd17..570591367a 100644 --- a/src/components/ha-selector/ha-selector-template.ts +++ b/src/components/ha-selector/ha-selector-template.ts @@ -71,6 +71,7 @@ export class HaTemplateSelector extends LitElement { } private _handleChange(ev) { + ev.stopPropagation(); let value = ev.target.value; if (this.value === value) { return; diff --git a/src/components/ha-selector/ha-selector-text.ts b/src/components/ha-selector/ha-selector-text.ts index 2a186fe2d7..e574a37ccf 100644 --- a/src/components/ha-selector/ha-selector-text.ts +++ b/src/components/ha-selector/ha-selector-text.ts @@ -111,6 +111,7 @@ export class HaTextSelector extends LitElement { } private _handleChange(ev) { + ev.stopPropagation(); let value = ev.detail?.value ?? ev.target.value; if (this.value === value) { return; diff --git a/src/components/ha-selector/ha-selector-ui-action.ts b/src/components/ha-selector/ha-selector-ui-action.ts index a0935eb747..4a3331a81c 100644 --- a/src/components/ha-selector/ha-selector-ui-action.ts +++ b/src/components/ha-selector/ha-selector-ui-action.ts @@ -33,6 +33,7 @@ export class HaSelectorUiAction extends LitElement { } private _valueChanged(ev: CustomEvent) { + ev.stopPropagation(); fireEvent(this, "value-changed", { value: ev.detail.value }); } } diff --git a/src/components/ha-selector/ha-selector-ui-color.ts b/src/components/ha-selector/ha-selector-ui-color.ts index c58e466cf5..3bcbbc3715 100644 --- a/src/components/ha-selector/ha-selector-ui-color.ts +++ b/src/components/ha-selector/ha-selector-ui-color.ts @@ -33,6 +33,7 @@ export class HaSelectorUiColor extends LitElement { } private _valueChanged(ev: CustomEvent) { + ev.stopPropagation(); fireEvent(this, "value-changed", { value: ev.detail.value }); } }