diff --git a/src/components/entity/ha-entity-picker.js b/src/components/entity/ha-entity-picker.js
index 20e3eda119..7e9ab97257 100644
--- a/src/components/entity/ha-entity-picker.js
+++ b/src/components/entity/ha-entity-picker.js
@@ -11,11 +11,12 @@ import './state-badge.js';
import computeStateName from '../../common/entity/compute_state_name.js';
import LocalizeMixin from '../../mixins/localize-mixin.js';
+import EventsMixin from '../../mixins/events-mixin.js';
/*
* @appliesMixin LocalizeMixin
*/
-class HaEntityPicker extends LocalizeMixin(PolymerElement) {
+class HaEntityPicker extends EventsMixin(LocalizeMixin(PolymerElement)) {
static get template() {
return html`
-
+
Clear
Toggle
@@ -135,6 +144,11 @@ class HaEntityPicker extends LocalizeMixin(PolymerElement) {
_computeToggleIcon(opened) {
return opened ? 'mdi:menu-up' : 'mdi:menu-down';
}
+
+ _fireChanged(ev) {
+ ev.stopPropagation();
+ this.fire('change');
+ }
}
customElements.define('ha-entity-picker', HaEntityPicker);
diff --git a/src/components/ha-combo-box.js b/src/components/ha-combo-box.js
index 2075c82a4a..d3f666a75c 100644
--- a/src/components/ha-combo-box.js
+++ b/src/components/ha-combo-box.js
@@ -5,7 +5,9 @@ import { html } from '@polymer/polymer/lib/utils/html-tag.js';
import { PolymerElement } from '@polymer/polymer/polymer-element.js';
import '@vaadin/vaadin-combo-box/vaadin-combo-box-light.js';
-class HaComboBox extends PolymerElement {
+import EventsMixin from '../mixins/events-mixin.js';
+
+class HaComboBox extends EventsMixin(PolymerElement) {
static get template() {
return html`
-
+
Clear
Toggle
@@ -79,6 +89,11 @@ class HaComboBox extends PolymerElement {
_computeItemLabel(item, itemLabelPath) {
return itemLabelPath ? item[itemLabelPath] : item;
}
+
+ _fireChanged(ev) {
+ ev.stopPropagation();
+ this.fire('change');
+ }
}
customElements.define('ha-combo-box', HaComboBox);