Fix filtering hidden columns entity table (#7786)

This commit is contained in:
Bram Kragten 2020-11-24 12:03:06 +01:00 committed by GitHub
parent 1d367eca69
commit 3ea5bb2a6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -31,7 +31,6 @@ import "../../../common/search/search-input";
import { LocalizeFunc } from "../../../common/translations/localize"; import { LocalizeFunc } from "../../../common/translations/localize";
import type { import type {
DataTableColumnContainer, DataTableColumnContainer,
DataTableColumnData,
RowClickedEvent, RowClickedEvent,
SelectionChangedEvent, SelectionChangedEvent,
} from "../../../components/data-table/ha-data-table"; } from "../../../components/data-table/ha-data-table";
@ -156,8 +155,7 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
); );
private _columns = memoize( private _columns = memoize(
(narrow, _language): DataTableColumnContainer => { (narrow, _language): DataTableColumnContainer => ({
const columns: DataTableColumnContainer = {
icon: { icon: {
title: "", title: "",
type: "icon", type: "icon",
@ -173,10 +171,37 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
filterable: true, filterable: true,
direction: "asc", direction: "asc",
grows: true, grows: true,
template: narrow
? (name, entity: any) =>
html`
${name}<br />
${entity.entity_id} |
${this.hass.localize(`component.${entity.platform}.title`) ||
entity.platform}
`
: undefined,
}, },
}; entity_id: {
title: this.hass.localize(
const statusColumn: DataTableColumnData = { "ui.panel.config.entities.picker.headers.entity_id"
),
hidden: narrow,
sortable: true,
filterable: true,
width: "25%",
},
platform: {
title: this.hass.localize(
"ui.panel.config.entities.picker.headers.integration"
),
hidden: narrow,
sortable: true,
filterable: true,
width: "20%",
template: (platform) =>
this.hass.localize(`component.${platform}.title`) || platform,
},
status: {
title: this.hass.localize( title: this.hass.localize(
"ui.panel.config.entities.picker.headers.status" "ui.panel.config.entities.picker.headers.status"
), ),
@ -223,43 +248,8 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
</div> </div>
` `
: "", : "",
}; },
})
if (narrow) {
columns.name.template = (name, entity: any) => {
return html`
${name}<br />
${entity.entity_id} |
${this.hass.localize(`component.${entity.platform}.title`) ||
entity.platform}
`;
};
columns.status = statusColumn;
return columns;
}
columns.entity_id = {
title: this.hass.localize(
"ui.panel.config.entities.picker.headers.entity_id"
),
sortable: true,
filterable: true,
width: "25%",
};
columns.platform = {
title: this.hass.localize(
"ui.panel.config.entities.picker.headers.integration"
),
sortable: true,
filterable: true,
width: "20%",
template: (platform) =>
this.hass.localize(`component.${platform}.title`) || platform,
};
columns.status = statusColumn;
return columns;
}
); );
private _filteredEntities = memoize( private _filteredEntities = memoize(