Add clear filter button to individual filters (#20343)

This commit is contained in:
Bram Kragten
2024-04-02 22:05:03 +02:00
committed by GitHub
parent 1e2c1d1464
commit 59b66219cb
9 changed files with 177 additions and 31 deletions

View File

@@ -1,3 +1,4 @@
import { mdiFilterVariantRemove } from "@mdi/js";
import {
css,
CSSResultGroup,
@@ -55,7 +56,11 @@ export class HaFilterEntities extends LitElement {
<div slot="header" class="header">
${this.hass.localize("ui.panel.config.entities.caption")}
${this.value?.length
? html`<div class="badge">${this.value?.length}</div>`
? html`<div class="badge">${this.value?.length}</div>
<ha-icon-button
.path=${mdiFilterVariantRemove}
@click=${this._clearFilter}
></ha-icon-button>`
: nothing}
</div>
${this._shouldRender
@@ -204,6 +209,15 @@ export class HaFilterEntities extends LitElement {
});
}
private _clearFilter(ev) {
ev.preventDefault();
this.value = undefined;
fireEvent(this, "data-table-filter-changed", {
value: undefined,
items: undefined,
});
}
static get styles(): CSSResultGroup {
return [
haStyleScrollbar,
@@ -223,6 +237,10 @@ export class HaFilterEntities extends LitElement {
display: flex;
align-items: center;
}
.header ha-icon-button {
margin-inline-start: auto;
margin-inline-end: 8px;
}
.badge {
display: inline-block;
margin-left: 8px;