mirror of
https://github.com/home-assistant/frontend.git
synced 2025-04-30 16:27:21 +00:00
Provide stub config for entity-filter (#8121)
* Provide stub config for entity-filter * "card" option is optional since it has a default * Search dynamically for stub config entities
This commit is contained in:
parent
2c07a2c825
commit
01df01cd66
@ -8,6 +8,7 @@ import { LovelaceCardConfig } from "../../../data/lovelace";
|
|||||||
import { HomeAssistant } from "../../../types";
|
import { HomeAssistant } from "../../../types";
|
||||||
import { computeCardSize } from "../common/compute-card-size";
|
import { computeCardSize } from "../common/compute-card-size";
|
||||||
import { evaluateFilter } from "../common/evaluate-filter";
|
import { evaluateFilter } from "../common/evaluate-filter";
|
||||||
|
import { findEntities } from "../common/find-entites";
|
||||||
import { processConfigEntities } from "../common/process-config-entities";
|
import { processConfigEntities } from "../common/process-config-entities";
|
||||||
import { createCardElement } from "../create-element/create-card-element";
|
import { createCardElement } from "../create-element/create-card-element";
|
||||||
import { EntityFilterEntityConfig } from "../entity-rows/types";
|
import { EntityFilterEntityConfig } from "../entity-rows/types";
|
||||||
@ -15,6 +16,30 @@ import { LovelaceCard } from "../types";
|
|||||||
import { EntityFilterCardConfig } from "./types";
|
import { EntityFilterCardConfig } from "./types";
|
||||||
|
|
||||||
class EntityFilterCard extends UpdatingElement implements LovelaceCard {
|
class EntityFilterCard extends UpdatingElement implements LovelaceCard {
|
||||||
|
public static getStubConfig(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
entities: string[],
|
||||||
|
entitiesFallback: string[]
|
||||||
|
): EntityFilterCardConfig {
|
||||||
|
const maxEntities = 3;
|
||||||
|
const foundEntities = findEntities(
|
||||||
|
hass,
|
||||||
|
maxEntities,
|
||||||
|
entities,
|
||||||
|
entitiesFallback,
|
||||||
|
["light", "switch", "sensor"]
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
type: "entity-filter",
|
||||||
|
entities: foundEntities,
|
||||||
|
state_filter: [
|
||||||
|
foundEntities[0] ? hass.states[foundEntities[0]].state : "",
|
||||||
|
],
|
||||||
|
card: { type: "entities" },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@property({ attribute: false }) public hass?: HomeAssistant;
|
@property({ attribute: false }) public hass?: HomeAssistant;
|
||||||
|
|
||||||
@property() public isPanel = false;
|
@property() public isPanel = false;
|
||||||
|
@ -92,7 +92,7 @@ export interface EntityFilterCardConfig extends LovelaceCardConfig {
|
|||||||
type: "entity-filter";
|
type: "entity-filter";
|
||||||
entities: Array<EntityFilterEntityConfig | string>;
|
entities: Array<EntityFilterEntityConfig | string>;
|
||||||
state_filter: Array<{ key: string } | string>;
|
state_filter: Array<{ key: string } | string>;
|
||||||
card: Partial<LovelaceCardConfig>;
|
card?: Partial<LovelaceCardConfig>;
|
||||||
show_empty?: boolean;
|
show_empty?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2833,7 +2833,7 @@
|
|||||||
"image": "Image Path",
|
"image": "Image Path",
|
||||||
"maximum": "Maximum",
|
"maximum": "Maximum",
|
||||||
"manual": "Manual",
|
"manual": "Manual",
|
||||||
"manual_description": "Need to add a custom card or just want to manually write the yaml?",
|
"manual_description": "Need to add a custom card or just want to manually write the YAML?",
|
||||||
"minimum": "Minimum",
|
"minimum": "Minimum",
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"refresh_interval": "Refresh Interval",
|
"refresh_interval": "Refresh Interval",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user