mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-26 02:36:37 +00:00
Expose dialog to custom card helpers (#19969)
This commit is contained in:
parent
84e6f2fc4f
commit
c5c4253760
@ -3,7 +3,7 @@ import {
|
|||||||
HassEntityBase,
|
HassEntityBase,
|
||||||
} from "home-assistant-js-websocket";
|
} from "home-assistant-js-websocket";
|
||||||
import { getExtendedEntityRegistryEntry } from "./entity_registry";
|
import { getExtendedEntityRegistryEntry } from "./entity_registry";
|
||||||
import { showEnterCodeDialogDialog } from "../dialogs/enter-code/show-enter-code-dialog";
|
import { showEnterCodeDialog } from "../dialogs/enter-code/show-enter-code-dialog";
|
||||||
import { HomeAssistant } from "../types";
|
import { HomeAssistant } from "../types";
|
||||||
|
|
||||||
export const FORMAT_TEXT = "text";
|
export const FORMAT_TEXT = "text";
|
||||||
@ -38,7 +38,7 @@ export const callProtectedLockService = async (
|
|||||||
const defaultCode = lockRegistryEntry?.options?.lock?.default_code;
|
const defaultCode = lockRegistryEntry?.options?.lock?.default_code;
|
||||||
|
|
||||||
if (stateObj!.attributes.code_format && !defaultCode) {
|
if (stateObj!.attributes.code_format && !defaultCode) {
|
||||||
const response = await showEnterCodeDialogDialog(element, {
|
const response = await showEnterCodeDialog(element, {
|
||||||
codeFormat: "text",
|
codeFormat: "text",
|
||||||
codePattern: stateObj!.attributes.code_format,
|
codePattern: stateObj!.attributes.code_format,
|
||||||
title: hass.localize(`ui.card.lock.${service}`),
|
title: hass.localize(`ui.card.lock.${service}`),
|
||||||
|
@ -10,7 +10,7 @@ export interface EnterCodeDialogParams {
|
|||||||
cancel?: () => void;
|
cancel?: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const showEnterCodeDialogDialog = (
|
export const showEnterCodeDialog = (
|
||||||
element: HTMLElement,
|
element: HTMLElement,
|
||||||
dialogParams: EnterCodeDialogParams
|
dialogParams: EnterCodeDialogParams
|
||||||
) =>
|
) =>
|
||||||
|
@ -8,7 +8,7 @@ import "../../../components/ha-state-icon";
|
|||||||
import { AlarmControlPanelEntity } from "../../../data/alarm_control_panel";
|
import { AlarmControlPanelEntity } from "../../../data/alarm_control_panel";
|
||||||
import "../../../state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes";
|
import "../../../state-control/alarm_control_panel/ha-state-control-alarm_control_panel-modes";
|
||||||
import type { HomeAssistant } from "../../../types";
|
import type { HomeAssistant } from "../../../types";
|
||||||
import { showEnterCodeDialogDialog } from "../../enter-code/show-enter-code-dialog";
|
import { showEnterCodeDialog } from "../../enter-code/show-enter-code-dialog";
|
||||||
import "../components/ha-more-info-state-header";
|
import "../components/ha-more-info-state-header";
|
||||||
import { moreInfoControlStyle } from "../components/more-info-control-style";
|
import { moreInfoControlStyle } from "../components/more-info-control-style";
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ class MoreInfoAlarmControlPanel extends LitElement {
|
|||||||
let code: string | undefined;
|
let code: string | undefined;
|
||||||
|
|
||||||
if (this.stateObj!.attributes.code_format) {
|
if (this.stateObj!.attributes.code_format) {
|
||||||
const response = await showEnterCodeDialogDialog(this, {
|
const response = await showEnterCodeDialog(this, {
|
||||||
codeFormat: this.stateObj!.attributes.code_format,
|
codeFormat: this.stateObj!.attributes.code_format,
|
||||||
title: this.hass.localize("ui.card.alarm_control_panel.disarm"),
|
title: this.hass.localize("ui.card.alarm_control_panel.disarm"),
|
||||||
submitText: this.hass.localize("ui.card.alarm_control_panel.disarm"),
|
submitText: this.hass.localize("ui.card.alarm_control_panel.disarm"),
|
||||||
|
@ -21,7 +21,7 @@ import { UNAVAILABLE } from "../../../data/entity";
|
|||||||
import { HomeAssistant } from "../../../types";
|
import { HomeAssistant } from "../../../types";
|
||||||
import { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types";
|
import { LovelaceCardFeature, LovelaceCardFeatureEditor } from "../types";
|
||||||
import { AlarmModesCardFeatureConfig } from "./types";
|
import { AlarmModesCardFeatureConfig } from "./types";
|
||||||
import { showEnterCodeDialogDialog } from "../../../dialogs/enter-code/show-enter-code-dialog";
|
import { showEnterCodeDialog } from "../../../dialogs/enter-code/show-enter-code-dialog";
|
||||||
|
|
||||||
export const supportsAlarmModesCardFeature = (stateObj: HassEntity) => {
|
export const supportsAlarmModesCardFeature = (stateObj: HassEntity) => {
|
||||||
const domain = computeDomain(stateObj.entity_id);
|
const domain = computeDomain(stateObj.entity_id);
|
||||||
@ -131,7 +131,7 @@ class HuiAlarmModeCardFeature
|
|||||||
) {
|
) {
|
||||||
const disarm = mode === "disarmed";
|
const disarm = mode === "disarmed";
|
||||||
|
|
||||||
const response = await showEnterCodeDialogDialog(this, {
|
const response = await showEnterCodeDialog(this, {
|
||||||
codeFormat: this.stateObj!.attributes.code_format,
|
codeFormat: this.stateObj!.attributes.code_format,
|
||||||
title: this.hass!.localize(
|
title: this.hass!.localize(
|
||||||
`ui.card.alarm_control_panel.${disarm ? "disarm" : "arm"}`
|
`ui.card.alarm_control_panel.${disarm ? "disarm" : "arm"}`
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
export { showEnterCodeDialog } from "../../dialogs/enter-code/show-enter-code-dialog";
|
||||||
|
export {
|
||||||
|
showAlertDialog,
|
||||||
|
showConfirmationDialog,
|
||||||
|
showPromptDialog,
|
||||||
|
} from "../../dialogs/generic/show-dialog-box";
|
||||||
export { importMoreInfoControl } from "../../dialogs/more-info/state_more_info_control";
|
export { importMoreInfoControl } from "../../dialogs/more-info/state_more_info_control";
|
||||||
export { createBadgeElement } from "./create-element/create-badge-element";
|
export { createBadgeElement } from "./create-element/create-badge-element";
|
||||||
export { createCardElement } from "./create-element/create-card-element";
|
export { createCardElement } from "./create-element/create-card-element";
|
||||||
|
@ -13,7 +13,7 @@ import {
|
|||||||
AlarmMode,
|
AlarmMode,
|
||||||
} from "../../data/alarm_control_panel";
|
} from "../../data/alarm_control_panel";
|
||||||
import { UNAVAILABLE } from "../../data/entity";
|
import { UNAVAILABLE } from "../../data/entity";
|
||||||
import { showEnterCodeDialogDialog } from "../../dialogs/enter-code/show-enter-code-dialog";
|
import { showEnterCodeDialog } from "../../dialogs/enter-code/show-enter-code-dialog";
|
||||||
import { HomeAssistant } from "../../types";
|
import { HomeAssistant } from "../../types";
|
||||||
|
|
||||||
@customElement("ha-state-control-alarm_control_panel-modes")
|
@customElement("ha-state-control-alarm_control_panel-modes")
|
||||||
@ -56,7 +56,7 @@ export class HaStateControlAlarmControlPanelModes extends LitElement {
|
|||||||
) {
|
) {
|
||||||
const disarm = mode === "disarmed";
|
const disarm = mode === "disarmed";
|
||||||
|
|
||||||
const response = await showEnterCodeDialogDialog(this, {
|
const response = await showEnterCodeDialog(this, {
|
||||||
codeFormat: this.stateObj!.attributes.code_format,
|
codeFormat: this.stateObj!.attributes.code_format,
|
||||||
title: this.hass!.localize(
|
title: this.hass!.localize(
|
||||||
`ui.card.alarm_control_panel.${disarm ? "disarm" : "arm"}`
|
`ui.card.alarm_control_panel.${disarm ? "disarm" : "arm"}`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user