conditional_card_user
Paul Bottein 2023-09-29 12:55:44 +02:00
parent 4b386c0661
commit 67166be0d7
No known key found for this signature in database
2 changed files with 15 additions and 5 deletions

View File

@ -191,6 +191,6 @@ export class HaCardConditionResponsive extends LitElement {
declare global { declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {
"ha-card-condition-responsove": HaCardConditionResponsive; "ha-card-condition-responsive": HaCardConditionResponsive;
} }
} }

View File

@ -4,9 +4,10 @@ import type { MDCTabBarActivatedEvent } from "@material/tab-bar";
import { import {
mdiCodeBraces, mdiCodeBraces,
mdiContentCopy, mdiContentCopy,
mdiContentDuplicate,
mdiListBoxOutline, mdiListBoxOutline,
mdiPlus, mdiPlus,
mdiResponsive,
mdiStateMachine,
} from "@mdi/js"; } from "@mdi/js";
import deepClone from "deep-clone-simple"; import deepClone from "deep-clone-simple";
import { CSSResultGroup, LitElement, css, html, nothing } from "lit"; import { CSSResultGroup, LitElement, css, html, nothing } from "lit";
@ -32,16 +33,21 @@ import "../card-editor/hui-card-element-editor";
import type { HuiCardElementEditor } from "../card-editor/hui-card-element-editor"; import type { HuiCardElementEditor } from "../card-editor/hui-card-element-editor";
import "../card-editor/hui-card-picker"; import "../card-editor/hui-card-picker";
import "../conditions/ha-card-condition-editor"; import "../conditions/ha-card-condition-editor";
import { LovelaceConditionEditorConstructor } from "../conditions/types";
import "../conditions/types/ha-card-condition-responsive"; import "../conditions/types/ha-card-condition-responsive";
import "../conditions/types/ha-card-condition-state"; import "../conditions/types/ha-card-condition-state";
import { LovelaceConditionEditorConstructor } from "../conditions/types";
import "../hui-element-editor"; import "../hui-element-editor";
import type { ConfigChangedEvent } from "../hui-element-editor"; import type { ConfigChangedEvent } from "../hui-element-editor";
import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { baseLovelaceCardConfig } from "../structs/base-card-struct";
import type { GUIModeChangedEvent } from "../types"; import type { GUIModeChangedEvent } from "../types";
import { configElementStyle } from "./config-elements-style"; import { configElementStyle } from "./config-elements-style";
const UI_CONDITION: Condition["condition"][] = ["state", "responsive"]; const UI_CONDITION = [
"state",
"responsive",
] as const satisfies readonly Condition["condition"][];
type UiCondition = (typeof UI_CONDITION)[number];
const cardConfigStruct = assign( const cardConfigStruct = assign(
baseLovelaceCardConfig, baseLovelaceCardConfig,
@ -51,6 +57,10 @@ const cardConfigStruct = assign(
}) })
); );
const ICONS: Record<UiCondition, string> = {
state: mdiStateMachine,
responsive: mdiResponsive,
};
@customElement("hui-conditional-card-editor") @customElement("hui-conditional-card-editor")
export class HuiConditionalCardEditor export class HuiConditionalCardEditor
extends LitElement extends LitElement
@ -198,7 +208,7 @@ export class HuiConditionalCardEditor
) || condition} ) || condition}
<ha-svg-icon <ha-svg-icon
slot="graphic" slot="graphic"
.path=${mdiContentDuplicate} .path=${ICONS[condition]}
></ha-svg-icon> ></ha-svg-icon>
</ha-list-item> </ha-list-item>
` `