mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Improve performance of Helpers config page (#26153)
This commit is contained in:
parent
80b86a89f0
commit
1ce4e2a799
@ -74,6 +74,7 @@ import type {
|
|||||||
UpdateEntityRegistryEntryResult,
|
UpdateEntityRegistryEntryResult,
|
||||||
} from "../../../data/entity_registry";
|
} from "../../../data/entity_registry";
|
||||||
import {
|
import {
|
||||||
|
entityRegistryByEntityId,
|
||||||
subscribeEntityRegistry,
|
subscribeEntityRegistry,
|
||||||
updateEntityRegistryEntry,
|
updateEntityRegistryEntry,
|
||||||
} from "../../../data/entity_registry";
|
} from "../../../data/entity_registry";
|
||||||
@ -520,9 +521,8 @@ export class HaConfigHelpers extends SubscribeMixin(LitElement) {
|
|||||||
: true
|
: true
|
||||||
)
|
)
|
||||||
.map((item) => {
|
.map((item) => {
|
||||||
const entityRegEntry = entityReg.find(
|
const entityRegEntry =
|
||||||
(reg) => reg.entity_id === item.entity_id
|
entityRegistryByEntityId(entityReg)[item.entity_id];
|
||||||
);
|
|
||||||
const labels = labelReg && entityRegEntry?.labels;
|
const labels = labelReg && entityRegEntry?.labels;
|
||||||
const category = entityRegEntry?.categories.helpers;
|
const category = entityRegEntry?.categories.helpers;
|
||||||
return {
|
return {
|
||||||
@ -547,7 +547,7 @@ export class HaConfigHelpers extends SubscribeMixin(LitElement) {
|
|||||||
private _labelsForEntity(entityId: string): string[] {
|
private _labelsForEntity(entityId: string): string[] {
|
||||||
return (
|
return (
|
||||||
this.hass.entities[entityId]?.labels ||
|
this.hass.entities[entityId]?.labels ||
|
||||||
this._entityReg.find((e) => e.entity_id === entityId)?.labels ||
|
entityRegistryByEntityId(this._entityReg)[entityId]?.labels ||
|
||||||
[]
|
[]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -885,9 +885,9 @@ export class HaConfigHelpers extends SubscribeMixin(LitElement) {
|
|||||||
const labelItems = new Set<string>();
|
const labelItems = new Set<string>();
|
||||||
this._stateItems
|
this._stateItems
|
||||||
.filter((stateItem) =>
|
.filter((stateItem) =>
|
||||||
this._entityReg
|
entityRegistryByEntityId(this._entityReg)[
|
||||||
.find((reg) => reg.entity_id === stateItem.entity_id)
|
stateItem.entity_id
|
||||||
?.labels.some((lbl) => filter.includes(lbl))
|
]?.labels.some((lbl) => filter.includes(lbl))
|
||||||
)
|
)
|
||||||
.forEach((stateItem) => labelItems.add(stateItem.entity_id));
|
.forEach((stateItem) => labelItems.add(stateItem.entity_id));
|
||||||
(this._disabledEntityEntries || [])
|
(this._disabledEntityEntries || [])
|
||||||
@ -913,9 +913,8 @@ export class HaConfigHelpers extends SubscribeMixin(LitElement) {
|
|||||||
.filter(
|
.filter(
|
||||||
(stateItem) =>
|
(stateItem) =>
|
||||||
filter[0] ===
|
filter[0] ===
|
||||||
this._entityReg.find(
|
entityRegistryByEntityId(this._entityReg)[stateItem.entity_id]
|
||||||
(reg) => reg.entity_id === stateItem.entity_id
|
?.categories.helpers
|
||||||
)?.categories.helpers
|
|
||||||
)
|
)
|
||||||
.forEach((stateItem) => categoryItems.add(stateItem.entity_id));
|
.forEach((stateItem) => categoryItems.add(stateItem.entity_id));
|
||||||
(this._disabledEntityEntries || [])
|
(this._disabledEntityEntries || [])
|
||||||
@ -943,9 +942,9 @@ export class HaConfigHelpers extends SubscribeMixin(LitElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _editCategory(helper: any) {
|
private _editCategory(helper: any) {
|
||||||
const entityReg = this._entityReg.find(
|
const entityReg = entityRegistryByEntityId(this._entityReg)[
|
||||||
(reg) => reg.entity_id === helper.entity_id
|
helper.entity_id
|
||||||
);
|
];
|
||||||
if (!entityReg) {
|
if (!entityReg) {
|
||||||
showAlertDialog(this, {
|
showAlertDialog(this, {
|
||||||
title: this.hass.localize(
|
title: this.hass.localize(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user