Allow passing data as template in devtools/action (#24737)

This commit is contained in:
karwosts 2025-03-26 02:13:06 -07:00 committed by GitHub
parent 1a076061da
commit 772a2658cb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -9,7 +9,7 @@ import memoizeOne from "memoize-one";
import { storage } from "../../../common/decorators/storage";
import { computeDomain } from "../../../common/entity/compute_domain";
import { computeObjectId } from "../../../common/entity/compute_object_id";
import { hasTemplate } from "../../../common/string/has-template";
import { hasTemplate, isTemplate } from "../../../common/string/has-template";
import type { LocalizeFunc } from "../../../common/translations/localize";
import { extractSearchParam } from "../../../common/url/search-params";
import { copyToClipboard } from "../../../common/util/copy-clipboard";
@ -349,8 +349,11 @@ class HaPanelDevAction extends LitElement {
`ui.panel.developer-tools.tabs.actions.errors.${errorCategory}.invalid_action`
);
}
const dataIsTemplate =
typeof serviceData.data === "string" && isTemplate(serviceData.data);
if (
target &&
!dataIsTemplate &&
!serviceData.target &&
!serviceData.data?.entity_id &&
!serviceData.data?.device_id &&
@ -363,6 +366,7 @@ class HaPanelDevAction extends LitElement {
for (const field of fields) {
if (
field.required &&
!dataIsTemplate &&
(!serviceData.data || serviceData.data[field.key] === undefined)
) {
return localize(