mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-16 13:56:35 +00:00
Add menu with remove option to application credentials (#21139)
This commit is contained in:
parent
76daa2bb7f
commit
57d8544dbf
@ -11,6 +11,7 @@ import {
|
|||||||
import "../../../components/ha-fab";
|
import "../../../components/ha-fab";
|
||||||
import "../../../components/ha-help-tooltip";
|
import "../../../components/ha-help-tooltip";
|
||||||
import "../../../components/ha-svg-icon";
|
import "../../../components/ha-svg-icon";
|
||||||
|
import "../../../components/ha-icon-overflow-menu";
|
||||||
import {
|
import {
|
||||||
ApplicationCredential,
|
ApplicationCredential,
|
||||||
deleteApplicationCredential,
|
deleteApplicationCredential,
|
||||||
@ -70,6 +71,26 @@ export class HaConfigApplicationCredentials extends LitElement {
|
|||||||
width: "30%",
|
width: "30%",
|
||||||
direction: "asc",
|
direction: "asc",
|
||||||
},
|
},
|
||||||
|
actions: {
|
||||||
|
title: "",
|
||||||
|
width: "64px",
|
||||||
|
type: "overflow-menu",
|
||||||
|
template: (credential) => html`
|
||||||
|
<ha-icon-overflow-menu
|
||||||
|
.hass=${this.hass}
|
||||||
|
narrow
|
||||||
|
.items=${[
|
||||||
|
{
|
||||||
|
path: mdiDelete,
|
||||||
|
warning: true,
|
||||||
|
label: this.hass.localize("ui.common.delete"),
|
||||||
|
action: () => this._removeCredential(credential),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
</ha-icon-overflow-menu>
|
||||||
|
`,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
return columns;
|
return columns;
|
||||||
@ -153,6 +174,24 @@ export class HaConfigApplicationCredentials extends LitElement {
|
|||||||
this._selected = ev.detail.value;
|
this._selected = ev.detail.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _removeCredential = async (credential) => {
|
||||||
|
const confirm = await showConfirmationDialog(this, {
|
||||||
|
title: this.hass.localize(
|
||||||
|
`ui.panel.config.application_credentials.picker.remove.confirm_title`
|
||||||
|
),
|
||||||
|
text: this.hass.localize(
|
||||||
|
"ui.panel.config.application_credentials.picker.remove_selected.confirm_text"
|
||||||
|
),
|
||||||
|
confirmText: this.hass.localize("ui.common.delete"),
|
||||||
|
dismissText: this.hass.localize("ui.common.cancel"),
|
||||||
|
destructive: true,
|
||||||
|
});
|
||||||
|
if (!confirm) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
await deleteApplicationCredential(this.hass, credential.id);
|
||||||
|
};
|
||||||
|
|
||||||
private _removeSelected() {
|
private _removeSelected() {
|
||||||
showConfirmationDialog(this, {
|
showConfirmationDialog(this, {
|
||||||
title: this.hass.localize(
|
title: this.hass.localize(
|
||||||
@ -162,8 +201,9 @@ export class HaConfigApplicationCredentials extends LitElement {
|
|||||||
text: this.hass.localize(
|
text: this.hass.localize(
|
||||||
"ui.panel.config.application_credentials.picker.remove_selected.confirm_text"
|
"ui.panel.config.application_credentials.picker.remove_selected.confirm_text"
|
||||||
),
|
),
|
||||||
confirmText: this.hass.localize("ui.common.remove"),
|
confirmText: this.hass.localize("ui.common.delete"),
|
||||||
dismissText: this.hass.localize("ui.common.cancel"),
|
dismissText: this.hass.localize("ui.common.cancel"),
|
||||||
|
destructive: true,
|
||||||
confirm: async () => {
|
confirm: async () => {
|
||||||
try {
|
try {
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
|
@ -4253,9 +4253,9 @@
|
|||||||
"config_entry": {
|
"config_entry": {
|
||||||
"application_credentials": {
|
"application_credentials": {
|
||||||
"delete_title": "Application credentials",
|
"delete_title": "Application credentials",
|
||||||
"delete_prompt": "Would you like to also remove Application Credentials for this integration?",
|
"delete_prompt": "Would you like to also delete Application Credentials for this integration?",
|
||||||
"delete_detail": "If you remove them, you will need to enter credentials when setting up the integration again. If you keep them, they will be used automatically when setting up the integration again or may be acccessed from the Application Credentials menu.",
|
"delete_detail": "If you delete them, you will need to enter credentials when setting up the integration again. If you keep them, they will be used automatically when setting up the integration again or may be acccessed from the Application Credentials menu.",
|
||||||
"delete_error_title": "Removing application credentials failed",
|
"delete_error_title": "Deleting application credentials failed",
|
||||||
"dismiss": "Keep",
|
"dismiss": "Keep",
|
||||||
"learn_more": "Learn more about application credentials"
|
"learn_more": "Learn more about application credentials"
|
||||||
},
|
},
|
||||||
@ -4454,11 +4454,15 @@
|
|||||||
"client_id": "OAuth client ID",
|
"client_id": "OAuth client ID",
|
||||||
"application": "Integration"
|
"application": "Integration"
|
||||||
},
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Delete application credential",
|
||||||
|
"confirm_title": "Delete application credential?"
|
||||||
|
},
|
||||||
"remove_selected": {
|
"remove_selected": {
|
||||||
"button": "Remove selected",
|
"button": "Delete selected",
|
||||||
"confirm_title": "Do you want to remove {number} {number, plural,\n one {credential}\n other {credentials}\n}?",
|
"confirm_title": "Do you want to delete {number} {number, plural,\n one {credential}\n other {credentials}\n}?",
|
||||||
"confirm_text": "Application credentials in use by an integration may not be removed.",
|
"confirm_text": "Application credentials in use by an integration may not be deleted.",
|
||||||
"error_title": "Removing application credentials failed"
|
"error_title": "Deleting application credentials failed"
|
||||||
},
|
},
|
||||||
"selected": "{number} selected"
|
"selected": "{number} selected"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user