Add support for filtering service fields (#16004)

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
This commit is contained in:
Bram Kragten
2023-05-10 14:59:13 +02:00
committed by GitHub
parent 3838d76094
commit bcdb24849d
4 changed files with 229 additions and 17 deletions

View File

@@ -15,6 +15,7 @@ import {
computeDeviceName,
DeviceEntityLookup,
DeviceRegistryEntry,
getDeviceEntityLookup,
subscribeDeviceRegistry,
} from "../../data/device_registry";
import {
@@ -129,7 +130,7 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
];
}
const deviceEntityLookup: DeviceEntityLookup = {};
let deviceEntityLookup: DeviceEntityLookup = {};
if (
includeDomains ||
@@ -137,15 +138,7 @@ export class HaDevicePicker extends SubscribeMixin(LitElement) {
includeDeviceClasses ||
entityFilter
) {
for (const entity of entities) {
if (!entity.device_id) {
continue;
}
if (!(entity.device_id in deviceEntityLookup)) {
deviceEntityLookup[entity.device_id] = [];
}
deviceEntityLookup[entity.device_id].push(entity);
}
deviceEntityLookup = getDeviceEntityLookup(entities);
}
const areaLookup: { [areaId: string]: AreaRegistryEntry } = {};