Improve service filtering (#19811)

* Improve service filtering

Split filter term by space and match if each word is individually present

* Prettier formatting

* Fix un-necessary toLowerCase() call

Co-authored-by: karwosts <32912880+karwosts@users.noreply.github.com>

* Combine filter check conditions into the same loop

* Prettier formatting

---------

Co-authored-by: karwosts <32912880+karwosts@users.noreply.github.com>
This commit is contained in:
Jim 2024-02-28 10:42:19 +00:00 committed by GitHub
parent 83190c21db
commit 401bbed67b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -114,11 +114,14 @@ class HaServicePicker extends LitElement {
if (!filter) {
return processedServices;
}
return processedServices.filter(
(service) =>
service.service.toLowerCase().includes(filter) ||
service.name?.toLowerCase().includes(filter)
);
const split_filter = filter.split(" ");
return processedServices.filter((service) => {
const lower_service_name = service.name.toLowerCase();
const lower_service = service.service.toLowerCase();
return split_filter.every(
(f) => lower_service_name.includes(f) || lower_service.includes(f)
);
});
}
);