Use service name in action confirmation popup (#8493)

This commit is contained in:
Philip Allgaier 2021-03-31 14:12:06 +02:00 committed by GitHub
parent 89b82bb778
commit 20858db96d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,7 @@
import { fireEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event";
import { navigate } from "../../../common/navigate"; import { navigate } from "../../../common/navigate";
import { forwardHaptic } from "../../../data/haptics"; import { forwardHaptic } from "../../../data/haptics";
import { domainToName } from "../../../data/integration";
import { ActionConfig } from "../../../data/lovelace"; import { ActionConfig } from "../../../data/lovelace";
import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
@ -50,6 +51,18 @@ export const handleAction = async (
) { ) {
forwardHaptic("warning"); forwardHaptic("warning");
let serviceName;
if (actionConfig.action === "call-service") {
const [domain, service] = actionConfig.service.split(".", 2);
const serviceDomains = hass.services;
if (domain in serviceDomains && service in serviceDomains[domain]) {
const localize = await hass.loadBackendTranslation("title");
serviceName = `${domainToName(localize, domain)}: ${
serviceDomains[domain][service].name || service
}`;
}
}
if ( if (
!(await showConfirmationDialog(node, { !(await showConfirmationDialog(node, {
text: text:
@ -57,10 +70,12 @@ export const handleAction = async (
hass.localize( hass.localize(
"ui.panel.lovelace.cards.actions.action_confirmation", "ui.panel.lovelace.cards.actions.action_confirmation",
"action", "action",
hass.localize( serviceName ||
"ui.panel.lovelace.editor.action-editor.actions." + hass.localize(
actionConfig.action "ui.panel.lovelace.editor.action-editor.actions." +
) || actionConfig.action actionConfig.action
) ||
actionConfig.action
), ),
})) }))
) { ) {