From 4f6a241817da8e55240013b78ed3ed637fcf7884 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Fri, 18 Feb 2022 15:57:57 +0100 Subject: [PATCH] Apply suggestions from code review Co-authored-by: Bram Kragten --- .../config/devices/ha-config-device-page.ts | 33 +++++++------------ 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts index 46b8a161ed..8b52379f08 100644 --- a/src/panels/config/devices/ha-config-device-page.ts +++ b/src/panels/config/devices/ha-config-device-page.ts @@ -276,26 +276,14 @@ export class HaConfigDevicePage extends LitElement { return; } - let buttons = this._integrations(device, this.entries).map((entry) => { + const buttons = this._integrations(device, this.entries).forEach((entry) => { if (entry.state !== "loaded" || !entry.supports_remove_device) { - return false; + return; } - return { - entry_id: entry.entry_id, - domain: entry.domain, - }; - }); - - buttons = buttons.filter(Boolean); - - if (buttons.length > 0) { - this._deleteButtons = ( - buttons as { entry_id: string; domain: string }[] - ).map( - (button) => html` + buttons.push(html` ${buttons.length > 1 @@ -304,19 +292,22 @@ export class HaConfigDevicePage extends LitElement { { integration: domainToName( this.hass.localize, - button.domain + entry.domain ), } ) : this.hass.localize(`ui.panel.config.devices.delete_device`)} - ` - ); + `); + }); + + if (buttons.length > 0) { + this._deleteButtons = buttons; } } private async _confirmDeleteEntry(e: MouseEvent): Promise { - const entry_id = (e.currentTarget! as HTMLElement).getAttribute("entry_id"); + const entryId = (e.currentTarget as any). entryId; const confirmed = await showConfirmationDialog(this, { text: this.hass.localize("ui.panel.config.devices.confirm_delete"), @@ -326,7 +317,7 @@ export class HaConfigDevicePage extends LitElement { return; } - await removeConfigEntryFromDevice(this.hass!, this.deviceId, entry_id!); + await removeConfigEntryFromDevice(this.hass!, this.deviceId, entryId); } protected firstUpdated(changedProps) {