mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-22 16:56:35 +00:00
Add icons and buttons
This commit is contained in:
parent
a27dd1e7f1
commit
d5a307f8f4
@ -3,6 +3,7 @@ import {
|
|||||||
mdiAlertCircle,
|
mdiAlertCircle,
|
||||||
mdiCancel,
|
mdiCancel,
|
||||||
mdiDelete,
|
mdiDelete,
|
||||||
|
mdiEyeOff,
|
||||||
mdiFilterVariant,
|
mdiFilterVariant,
|
||||||
mdiPencilOff,
|
mdiPencilOff,
|
||||||
mdiPlus,
|
mdiPlus,
|
||||||
@ -251,7 +252,10 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
|||||||
filterable: true,
|
filterable: true,
|
||||||
width: "68px",
|
width: "68px",
|
||||||
template: (_status, entity: EntityRow) =>
|
template: (_status, entity: EntityRow) =>
|
||||||
entity.unavailable || entity.disabled_by || entity.readonly
|
entity.unavailable ||
|
||||||
|
entity.disabled_by ||
|
||||||
|
entity.hidden_by ||
|
||||||
|
entity.readonly
|
||||||
? html`
|
? html`
|
||||||
<div
|
<div
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
@ -267,6 +271,8 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
|||||||
? mdiAlertCircle
|
? mdiAlertCircle
|
||||||
: entity.disabled_by
|
: entity.disabled_by
|
||||||
? mdiCancel
|
? mdiCancel
|
||||||
|
: entity.hidden_by
|
||||||
|
? mdiEyeOff
|
||||||
: mdiPencilOff}
|
: mdiPencilOff}
|
||||||
></ha-svg-icon>
|
></ha-svg-icon>
|
||||||
<paper-tooltip animation-delay="0" position="left">
|
<paper-tooltip animation-delay="0" position="left">
|
||||||
@ -282,6 +288,10 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
|||||||
? this.hass.localize(
|
? this.hass.localize(
|
||||||
"ui.panel.config.entities.picker.status.disabled"
|
"ui.panel.config.entities.picker.status.disabled"
|
||||||
)
|
)
|
||||||
|
: entity.hidden_by
|
||||||
|
? this.hass.localize(
|
||||||
|
"ui.panel.config.entities.picker.status.hidden"
|
||||||
|
)
|
||||||
: this.hass.localize(
|
: this.hass.localize(
|
||||||
"ui.panel.config.entities.picker.status.readonly"
|
"ui.panel.config.entities.picker.status.readonly"
|
||||||
)}
|
)}
|
||||||
@ -543,6 +553,11 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
|||||||
"ui.panel.config.entities.picker.disable_selected.button"
|
"ui.panel.config.entities.picker.disable_selected.button"
|
||||||
)}</mwc-button
|
)}</mwc-button
|
||||||
>
|
>
|
||||||
|
<mwc-button @click=${this._hideSelected}
|
||||||
|
>${this.hass.localize(
|
||||||
|
"ui.panel.config.entities.picker.hide_selected.button"
|
||||||
|
)}</mwc-button
|
||||||
|
>
|
||||||
<mwc-button @click=${this._removeSelected} class="warning"
|
<mwc-button @click=${this._removeSelected} class="warning"
|
||||||
>${this.hass.localize(
|
>${this.hass.localize(
|
||||||
"ui.panel.config.entities.picker.remove_selected.button"
|
"ui.panel.config.entities.picker.remove_selected.button"
|
||||||
@ -572,6 +587,17 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
|||||||
"ui.panel.config.entities.picker.disable_selected.button"
|
"ui.panel.config.entities.picker.disable_selected.button"
|
||||||
)}
|
)}
|
||||||
</paper-tooltip>
|
</paper-tooltip>
|
||||||
|
<ha-icon-button
|
||||||
|
id="hide-btn"
|
||||||
|
@click=${this._hideSelected}
|
||||||
|
.path=${mdiCancel}
|
||||||
|
.label=${this.hass.localize("ui.common.hide")}
|
||||||
|
></ha-icon-button>
|
||||||
|
<paper-tooltip animation-delay="0" for="hide-btn">
|
||||||
|
${this.hass.localize(
|
||||||
|
"ui.panel.config.entities.picker.hide_selected.button"
|
||||||
|
)}
|
||||||
|
</paper-tooltip>
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
class="warning"
|
class="warning"
|
||||||
id="remove-btn"
|
id="remove-btn"
|
||||||
@ -818,6 +844,29 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _hideSelected() {
|
||||||
|
showConfirmationDialog(this, {
|
||||||
|
title: this.hass.localize(
|
||||||
|
"ui.panel.config.entities.picker.hide_selected.confirm_title",
|
||||||
|
"number",
|
||||||
|
this._selectedEntities.length
|
||||||
|
),
|
||||||
|
text: this.hass.localize(
|
||||||
|
"ui.panel.config.entities.picker.hide_selected.confirm_text"
|
||||||
|
),
|
||||||
|
confirmText: this.hass.localize("ui.common.hide"),
|
||||||
|
dismissText: this.hass.localize("ui.common.cancel"),
|
||||||
|
confirm: () => {
|
||||||
|
this._selectedEntities.forEach((entity) =>
|
||||||
|
updateEntityRegistryEntry(this.hass, entity, {
|
||||||
|
hidden_by: "user",
|
||||||
|
})
|
||||||
|
);
|
||||||
|
this._clearSelection();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private _removeSelected() {
|
private _removeSelected() {
|
||||||
const removeableEntities = this._selectedEntities.filter((entity) => {
|
const removeableEntities = this._selectedEntities.filter((entity) => {
|
||||||
const stateObj = this.hass.states[entity];
|
const stateObj = this.hass.states[entity];
|
||||||
|
@ -297,6 +297,7 @@
|
|||||||
"remove": "Remove",
|
"remove": "Remove",
|
||||||
"enable": "Enable",
|
"enable": "Enable",
|
||||||
"disable": "Disable",
|
"disable": "Disable",
|
||||||
|
"hide": "Hide",
|
||||||
"close": "Close",
|
"close": "Close",
|
||||||
"clear": "Clear",
|
"clear": "Clear",
|
||||||
"leave": "Leave",
|
"leave": "Leave",
|
||||||
@ -2455,6 +2456,11 @@
|
|||||||
"confirm_partly_title": "Only {number} {number, plural,\n one {selected entity}\n other {selected entities}\n} can be removed.",
|
"confirm_partly_title": "Only {number} {number, plural,\n one {selected entity}\n other {selected entities}\n} can be removed.",
|
||||||
"confirm_text": "You should remove them from your Lovelace config and automations if they contain these entities.",
|
"confirm_text": "You should remove them from your Lovelace config and automations if they contain these entities.",
|
||||||
"confirm_partly_text": "You can only remove {removable} of the selected {selected} entities. Entities can only be removed when the integration is no longer providing the entities. Sometimes you have to restart Home Assistant before you can remove the entities of a removed integration. Are you sure you want to remove the removable entities?"
|
"confirm_partly_text": "You can only remove {removable} of the selected {selected} entities. Entities can only be removed when the integration is no longer providing the entities. Sometimes you have to restart Home Assistant before you can remove the entities of a removed integration. Are you sure you want to remove the removable entities?"
|
||||||
|
},
|
||||||
|
"hide_selected": {
|
||||||
|
"button": "Hide selected",
|
||||||
|
"confirm_title": "Do you want to hide {number} {number, plural,\n one {entity}\n other {entities}\n}?",
|
||||||
|
"confirm_text": "Hidden entities will not be shown on your dashboard. Their history is still tracked and you can still interact with them with services."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user