mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-23 09:16:38 +00:00
Improve trigger condition check on paste (#25241)
This commit is contained in:
parent
50e39de974
commit
2e4ce71d06
@ -492,6 +492,25 @@ export const getAutomationEditorInitData = () => {
|
||||
return data;
|
||||
};
|
||||
|
||||
export const isTrigger = (config: unknown): boolean => {
|
||||
if (!config || typeof config !== "object") {
|
||||
return false;
|
||||
}
|
||||
const trigger = config as Record<string, unknown>;
|
||||
return (
|
||||
("trigger" in trigger && typeof trigger.trigger === "string") ||
|
||||
("platform" in trigger && typeof trigger.platform === "string")
|
||||
);
|
||||
};
|
||||
|
||||
export const isCondition = (config: unknown): boolean => {
|
||||
if (!config || typeof config !== "object") {
|
||||
return false;
|
||||
}
|
||||
const condition = config as Record<string, unknown>;
|
||||
return "condition" in condition && typeof condition.condition === "string";
|
||||
};
|
||||
|
||||
export const subscribeTrigger = (
|
||||
hass: HomeAssistant,
|
||||
onChange: (result: {
|
||||
|
@ -26,7 +26,11 @@ import type {
|
||||
ManualAutomationConfig,
|
||||
Trigger,
|
||||
} from "../../../data/automation";
|
||||
import { normalizeAutomationConfig } from "../../../data/automation";
|
||||
import {
|
||||
isCondition,
|
||||
isTrigger,
|
||||
normalizeAutomationConfig,
|
||||
} from "../../../data/automation";
|
||||
import { getActionType, type Action } from "../../../data/script";
|
||||
import { haStyle } from "../../../resources/styles";
|
||||
import type { HomeAssistant } from "../../../types";
|
||||
@ -332,11 +336,11 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
};
|
||||
let found = false;
|
||||
config.forEach((cfg: any) => {
|
||||
if ("trigger" in cfg) {
|
||||
if (isTrigger(cfg)) {
|
||||
found = true;
|
||||
(newConfig.triggers as Trigger[]).push(cfg);
|
||||
}
|
||||
if ("condition" in cfg) {
|
||||
if (isCondition(cfg)) {
|
||||
found = true;
|
||||
(newConfig.conditions as Condition[]).push(cfg);
|
||||
}
|
||||
@ -351,10 +355,10 @@ export class HaManualAutomationEditor extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
if ("trigger" in config) {
|
||||
if (isTrigger(config)) {
|
||||
config = { triggers: [config] };
|
||||
}
|
||||
if ("condition" in config) {
|
||||
if (isCondition(config)) {
|
||||
config = { conditions: [config] };
|
||||
}
|
||||
if (getActionType(config) !== "unknown") {
|
||||
|
Loading…
x
Reference in New Issue
Block a user