Rename responsive to screen

This commit is contained in:
Paul Bottein 2023-10-03 10:34:14 +02:00
parent f593fb6043
commit e767b807b0
No known key found for this signature in database
5 changed files with 34 additions and 34 deletions

View File

@ -1,7 +1,7 @@
import { UNAVAILABLE } from "../../../data/entity"; import { UNAVAILABLE } from "../../../data/entity";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
export type Condition = StateCondition | ResponsiveCondition; export type Condition = StateCondition | ScreenCondition;
export type LegacyCondition = { export type LegacyCondition = {
entity?: string; entity?: string;
@ -16,8 +16,8 @@ export type StateCondition = {
state_not?: string; state_not?: string;
}; };
export type ResponsiveCondition = { export type ScreenCondition = {
condition: "responsive"; condition: "screen";
media_query?: string; media_query?: string;
}; };
@ -32,8 +32,8 @@ function checkStateCondition(condition: StateCondition, hass: HomeAssistant) {
: state !== condition.state_not; : state !== condition.state_not;
} }
function checkResponsiveCondition( function checkScreenCondition(
condition: ResponsiveCondition, condition: ScreenCondition,
_hass: HomeAssistant _hass: HomeAssistant
) { ) {
return condition.media_query return condition.media_query
@ -46,8 +46,8 @@ export function checkConditionsMet(
hass: HomeAssistant hass: HomeAssistant
): boolean { ): boolean {
return conditions.every((c) => { return conditions.every((c) => {
if (c.condition === "responsive") { if (c.condition === "screen") {
return checkResponsiveCondition(c, hass); return checkScreenCondition(c, hass);
} }
return checkStateCondition(c, hass); return checkStateCondition(c, hass);
@ -61,14 +61,14 @@ function valideStateCondition(condition: StateCondition) {
); );
} }
function valideResponsiveCondition(condition: ResponsiveCondition) { function validateScreenCondition(condition: ScreenCondition) {
return condition.media_query != null; return condition.media_query != null;
} }
export function validateConditionalConfig(conditions: Condition[]): boolean { export function validateConditionalConfig(conditions: Condition[]): boolean {
return conditions.every((c) => { return conditions.every((c) => {
if (c.condition === "responsive") { if (c.condition === "screen") {
return valideResponsiveCondition(c); return validateScreenCondition(c);
} }
return valideStateCondition(c); return valideStateCondition(c);
}); });

View File

@ -3,7 +3,7 @@ import { customElement, property } from "lit/decorators";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { ConditionalCardConfig } from "../cards/types"; import { ConditionalCardConfig } from "../cards/types";
import { import {
ResponsiveCondition, ScreenCondition,
checkConditionsMet, checkConditionsMet,
validateConditionalConfig, validateConditionalConfig,
} from "../common/validate-condition"; } from "../common/validate-condition";
@ -78,8 +78,8 @@ export class HuiConditionalBase extends ReactiveElement {
} }
const conditions = this._config.conditions.filter( const conditions = this._config.conditions.filter(
(c) => c.condition === "responsive" (c) => c.condition === "screen"
) as ResponsiveCondition[]; ) as ScreenCondition[];
const mediaQueries = conditions const mediaQueries = conditions
.filter((c) => c.media_query) .filter((c) => c.media_query)

View File

@ -8,7 +8,7 @@ import "../../../../../components/ha-form/ha-form";
import type { SchemaUnion } from "../../../../../components/ha-form/types"; import type { SchemaUnion } from "../../../../../components/ha-form/types";
import { HaFormSchema } from "../../../../../components/ha-form/types"; import { HaFormSchema } from "../../../../../components/ha-form/types";
import type { HomeAssistant } from "../../../../../types"; import type { HomeAssistant } from "../../../../../types";
import { ResponsiveCondition } from "../../../common/validate-condition"; import { ScreenCondition } from "../../../common/validate-condition";
const BREAKPOINT_VALUES = [0, 768, 1024, 1280, Infinity]; const BREAKPOINT_VALUES = [0, 768, 1024, 1280, Infinity];
const BREAKPOINTS = ["mobile", "tablet", "desktop", "wide"] as const; const BREAKPOINTS = ["mobile", "tablet", "desktop", "wide"] as const;
@ -87,23 +87,23 @@ const mediaQueryMap = new Map(
); );
const mediaQueryReverseMap = new Map(queries.map(([b, m]) => [m, b])); const mediaQueryReverseMap = new Map(queries.map(([b, m]) => [m, b]));
type ResponsiveConditionData = { type ScreenConditionData = {
breakpoints: Breakpoint[]; breakpoints: Breakpoint[];
}; };
@customElement("ha-card-condition-responsive") @customElement("ha-card-condition-screen")
export class HaCardConditionResponsive extends LitElement { export class HaCardConditionScreen extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant; @property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: false }) public condition!: ResponsiveCondition; @property({ attribute: false }) public condition!: ScreenCondition;
@property({ type: Boolean }) public disabled = false; @property({ type: Boolean }) public disabled = false;
public static get defaultConfig(): ResponsiveCondition { public static get defaultConfig(): ScreenCondition {
return { condition: "responsive", media_query: "" }; return { condition: "screen", media_query: "" };
} }
protected static validateUIConfig(condition: ResponsiveCondition) { protected static validateUIConfig(condition: ScreenCondition) {
return ( return (
!condition.media_query || mediaQueryReverseMap.get(condition.media_query) !condition.media_query || mediaQueryReverseMap.get(condition.media_query)
); );
@ -122,11 +122,11 @@ export class HaCardConditionResponsive extends LitElement {
return { return {
value: b, value: b,
label: `${localize( label: `${localize(
`ui.panel.lovelace.editor.card.conditional.condition.responsive.breakpoints_list.${b}` `ui.panel.lovelace.editor.card.conditional.condition.screen.breakpoints_list.${b}`
)}${ )}${
value value
? ` (${localize( ? ` (${localize(
`ui.panel.lovelace.editor.card.conditional.condition.responsive.min`, `ui.panel.lovelace.editor.card.conditional.condition.screen.min`,
{ size: value } { size: value }
)})` )})`
: "" : ""
@ -145,7 +145,7 @@ export class HaCardConditionResponsive extends LitElement {
? mediaQueryReverseMap.get(this.condition.media_query) ? mediaQueryReverseMap.get(this.condition.media_query)
: undefined; : undefined;
const data: ResponsiveConditionData = { const data: ScreenConditionData = {
breakpoints: breakpoints ?? [], breakpoints: breakpoints ?? [],
}; };
@ -163,12 +163,12 @@ export class HaCardConditionResponsive extends LitElement {
private _valueChanged(ev: CustomEvent): void { private _valueChanged(ev: CustomEvent): void {
ev.stopPropagation(); ev.stopPropagation();
const data = ev.detail.value as ResponsiveConditionData; const data = ev.detail.value as ScreenConditionData;
const { breakpoints } = data; const { breakpoints } = data;
const condition: ResponsiveCondition = { const condition: ScreenCondition = {
condition: "responsive", condition: "screen",
media_query: mediaQueryMap.get(computeBreakpointsKey(breakpoints)) ?? "", media_query: mediaQueryMap.get(computeBreakpointsKey(breakpoints)) ?? "",
}; };
@ -181,7 +181,7 @@ export class HaCardConditionResponsive extends LitElement {
switch (schema.name) { switch (schema.name) {
case "breakpoints": case "breakpoints":
return this.hass.localize( return this.hass.localize(
`ui.panel.lovelace.editor.card.conditional.condition.responsive.${schema.name}` `ui.panel.lovelace.editor.card.conditional.condition.screen.${schema.name}`
); );
default: default:
return ""; return "";
@ -191,6 +191,6 @@ export class HaCardConditionResponsive extends LitElement {
declare global { declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {
"ha-card-condition-responsive": HaCardConditionResponsive; "ha-card-condition-screen": HaCardConditionScreen;
} }
} }

View File

@ -34,7 +34,7 @@ import type { HuiCardElementEditor } from "../card-editor/hui-card-element-edito
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 { LovelaceConditionEditorConstructor } from "../conditions/types";
import "../conditions/types/ha-card-condition-responsive"; import "../conditions/types/ha-card-condition-screen";
import "../conditions/types/ha-card-condition-state"; import "../conditions/types/ha-card-condition-state";
import "../hui-element-editor"; import "../hui-element-editor";
import type { ConfigChangedEvent } from "../hui-element-editor"; import type { ConfigChangedEvent } from "../hui-element-editor";
@ -44,7 +44,7 @@ import { configElementStyle } from "./config-elements-style";
const UI_CONDITION = [ const UI_CONDITION = [
"state", "state",
"responsive", "screen",
] as const satisfies readonly Condition["condition"][]; ] as const satisfies readonly Condition["condition"][];
type UiCondition = (typeof UI_CONDITION)[number]; type UiCondition = (typeof UI_CONDITION)[number];
@ -59,7 +59,7 @@ const cardConfigStruct = assign(
const ICONS: Record<UiCondition, string> = { const ICONS: Record<UiCondition, string> = {
state: mdiStateMachine, state: mdiStateMachine,
responsive: mdiResponsive, screen: mdiResponsive,
}; };
@customElement("hui-conditional-card-editor") @customElement("hui-conditional-card-editor")
export class HuiConditionalCardEditor export class HuiConditionalCardEditor

View File

@ -4771,8 +4771,8 @@
"change_type": "Change type", "change_type": "Change type",
"add_condition": "Add condition", "add_condition": "Add condition",
"condition": { "condition": {
"responsive": { "screen": {
"label": "Responsive", "label": "Screen",
"breakpoints": "Screen sizes", "breakpoints": "Screen sizes",
"breakpoints_list": { "breakpoints_list": {
"mobile": "Mobile", "mobile": "Mobile",