mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-19 07:16:39 +00:00
✨ add action_name option for scene/script rows (#4571)
* ✨ add action_name option for scene/script rows
* address review comments
This commit is contained in:
parent
ef6e468a7f
commit
1f38d13b3b
@ -14,7 +14,7 @@ import "../../../components/entity/ha-entity-toggle";
|
|||||||
import "../components/hui-warning";
|
import "../components/hui-warning";
|
||||||
|
|
||||||
import { HomeAssistant } from "../../../types";
|
import { HomeAssistant } from "../../../types";
|
||||||
import { LovelaceRow, EntityConfig } from "./types";
|
import { LovelaceRow, ActionRowConfig } from "./types";
|
||||||
import { hasConfigOrEntityChanged } from "../common/has-changed";
|
import { hasConfigOrEntityChanged } from "../common/has-changed";
|
||||||
import { activateScene } from "../../../data/scene";
|
import { activateScene } from "../../../data/scene";
|
||||||
|
|
||||||
@ -22,9 +22,9 @@ import { activateScene } from "../../../data/scene";
|
|||||||
class HuiSceneEntityRow extends LitElement implements LovelaceRow {
|
class HuiSceneEntityRow extends LitElement implements LovelaceRow {
|
||||||
@property() public hass!: HomeAssistant;
|
@property() public hass!: HomeAssistant;
|
||||||
|
|
||||||
@property() private _config?: EntityConfig;
|
@property() private _config?: ActionRowConfig;
|
||||||
|
|
||||||
public setConfig(config: EntityConfig): void {
|
public setConfig(config: ActionRowConfig): void {
|
||||||
if (!config) {
|
if (!config) {
|
||||||
throw new Error("Configuration error");
|
throw new Error("Configuration error");
|
||||||
}
|
}
|
||||||
@ -65,7 +65,8 @@ class HuiSceneEntityRow extends LitElement implements LovelaceRow {
|
|||||||
`
|
`
|
||||||
: html`
|
: html`
|
||||||
<mwc-button @click="${this._callService}">
|
<mwc-button @click="${this._callService}">
|
||||||
${this.hass!.localize("ui.card.scene.activate")}
|
${this._config.action_name ||
|
||||||
|
this.hass!.localize("ui.card.scene.activate")}
|
||||||
</mwc-button>
|
</mwc-button>
|
||||||
`}
|
`}
|
||||||
</hui-generic-entity-row>
|
</hui-generic-entity-row>
|
||||||
|
@ -14,16 +14,16 @@ import "../../../components/entity/ha-entity-toggle";
|
|||||||
import "../components/hui-warning";
|
import "../components/hui-warning";
|
||||||
|
|
||||||
import { HomeAssistant } from "../../../types";
|
import { HomeAssistant } from "../../../types";
|
||||||
import { LovelaceRow, EntityConfig } from "./types";
|
import { LovelaceRow, ActionRowConfig } from "./types";
|
||||||
import { hasConfigOrEntityChanged } from "../common/has-changed";
|
import { hasConfigOrEntityChanged } from "../common/has-changed";
|
||||||
|
|
||||||
@customElement("hui-script-entity-row")
|
@customElement("hui-script-entity-row")
|
||||||
class HuiScriptEntityRow extends LitElement implements LovelaceRow {
|
class HuiScriptEntityRow extends LitElement implements LovelaceRow {
|
||||||
public hass?: HomeAssistant;
|
public hass?: HomeAssistant;
|
||||||
|
|
||||||
@property() private _config?: EntityConfig;
|
@property() private _config?: ActionRowConfig;
|
||||||
|
|
||||||
public setConfig(config: EntityConfig): void {
|
public setConfig(config: ActionRowConfig): void {
|
||||||
if (!config) {
|
if (!config) {
|
||||||
throw new Error("Configuration error");
|
throw new Error("Configuration error");
|
||||||
}
|
}
|
||||||
@ -64,7 +64,8 @@ class HuiScriptEntityRow extends LitElement implements LovelaceRow {
|
|||||||
`
|
`
|
||||||
: html`
|
: html`
|
||||||
<mwc-button @click="${this._callService}">
|
<mwc-button @click="${this._callService}">
|
||||||
${this.hass!.localize("ui.card.script.execute")}
|
${this._config.action_name ||
|
||||||
|
this.hass!.localize("ui.card.script.execute")}
|
||||||
</mwc-button>
|
</mwc-button>
|
||||||
`}
|
`}
|
||||||
</hui-generic-entity-row>
|
</hui-generic-entity-row>
|
||||||
|
@ -8,6 +8,9 @@ export interface EntityConfig {
|
|||||||
icon?: string;
|
icon?: string;
|
||||||
image?: string;
|
image?: string;
|
||||||
}
|
}
|
||||||
|
export interface ActionRowConfig extends EntityConfig {
|
||||||
|
action_name?: string;
|
||||||
|
}
|
||||||
export interface EntityFilterEntityConfig extends EntityConfig {
|
export interface EntityFilterEntityConfig extends EntityConfig {
|
||||||
state_filter?: Array<{ key: string } | string>;
|
state_filter?: Array<{ key: string } | string>;
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ class HuiCallServiceRow extends LitElement implements LovelaceRow {
|
|||||||
throw new Error("Error in card configuration.");
|
throw new Error("Error in card configuration.");
|
||||||
}
|
}
|
||||||
|
|
||||||
this._config = { icon: "hass:remote", action_name: "Run", ...config };
|
this._config = { icon: "hass:remote", ...config };
|
||||||
}
|
}
|
||||||
|
|
||||||
protected render(): TemplateResult | void {
|
protected render(): TemplateResult | void {
|
||||||
@ -39,7 +39,9 @@ class HuiCallServiceRow extends LitElement implements LovelaceRow {
|
|||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div>${this._config.name}</div>
|
<div>${this._config.name}</div>
|
||||||
<mwc-button @click="${this._callService}"
|
<mwc-button @click="${this._callService}"
|
||||||
>${this._config.action_name}</mwc-button
|
>${this._config.action_name
|
||||||
|
? this._config.action_name
|
||||||
|
: this.hass!.localize("ui.card.service.run")}</mwc-button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
@ -460,6 +460,9 @@
|
|||||||
"script": {
|
"script": {
|
||||||
"execute": "Execute"
|
"execute": "Execute"
|
||||||
},
|
},
|
||||||
|
"service": {
|
||||||
|
"run": "Run"
|
||||||
|
},
|
||||||
"timer": {
|
"timer": {
|
||||||
"actions": {
|
"actions": {
|
||||||
"start": "start",
|
"start": "start",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user