mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-30 20:56:36 +00:00
Add available state option for filters
This commit is contained in:
parent
8cca233b7c
commit
567cbcee7c
@ -197,6 +197,10 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
||||
};
|
||||
|
||||
private _states = memoize((localize: LocalizeFunc) => [
|
||||
{
|
||||
value: "available",
|
||||
label: localize("ui.panel.config.entities.picker.status.available"),
|
||||
},
|
||||
{
|
||||
value: "disabled",
|
||||
label: localize("ui.panel.config.entities.picker.status.disabled"),
|
||||
@ -397,6 +401,8 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
||||
!stateFilters?.length || stateFilters.includes("hidden");
|
||||
const showUnavailable =
|
||||
!stateFilters?.length || stateFilters.includes("unavailable");
|
||||
const showAvailable =
|
||||
!stateFilters?.length || stateFilters.includes("available");
|
||||
|
||||
let filteredEntities = showReadOnly
|
||||
? entities.concat(stateEntities)
|
||||
@ -474,14 +480,21 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
||||
for (const entry of filteredEntities) {
|
||||
const entity = this.hass.states[entry.entity_id];
|
||||
const unavailable = entity?.state === UNAVAILABLE;
|
||||
const available = entity?.state && !unavailable;
|
||||
const restored = entity?.attributes.restored === true;
|
||||
const areaId = entry.area_id ?? devices[entry.device_id!]?.area_id;
|
||||
const area = areaId ? areas[areaId] : undefined;
|
||||
const readonly = entry.readonly;
|
||||
const hidden = !!entry.hidden_by;
|
||||
|
||||
if (!showUnavailable && unavailable) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!showAvailable && available && !readonly && !hidden) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const labels = labelReg && entry?.labels;
|
||||
const labelsEntries = (labels || []).map(
|
||||
(lbl) => labelReg!.find((label) => label.label_id === lbl)!
|
||||
@ -861,7 +874,7 @@ ${
|
||||
protected firstUpdated() {
|
||||
this._filters = {
|
||||
"ha-filter-states": {
|
||||
value: ["unavailable", "readonly"],
|
||||
value: ["available", "unavailable", "readonly"],
|
||||
items: undefined,
|
||||
},
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user