From f3642a167789f1ef68ba999856c095b60c4b6659 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 17 Jan 2022 23:52:29 -0800 Subject: [PATCH] Use download util for diagnostics (#11349) --- hassio/src/dialogs/backup/dialog-hassio-backup.ts | 1 - src/panels/config/integrations/ha-integration-card.ts | 3 ++- .../integration-panels/zwave_js/zwave_js-logs.ts | 1 - src/util/file_download.ts | 10 +++------- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/hassio/src/dialogs/backup/dialog-hassio-backup.ts b/hassio/src/dialogs/backup/dialog-hassio-backup.ts index 6b1cca48d1..e149870fd6 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-backup.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-backup.ts @@ -330,7 +330,6 @@ class HassioBackupDialog } fileDownload( - this, signedPath.path, `home_assistant_backup_${slugify(this._computeName)}.tar` ); diff --git a/src/panels/config/integrations/ha-integration-card.ts b/src/panels/config/integrations/ha-integration-card.ts index 51f5b26c80..33d20f9bf2 100644 --- a/src/panels/config/integrations/ha-integration-card.ts +++ b/src/panels/config/integrations/ha-integration-card.ts @@ -45,6 +45,7 @@ import { } from "../../../dialogs/generic/show-dialog-box"; import { haStyle, haStyleScrollbar } from "../../../resources/styles"; import type { HomeAssistant } from "../../../types"; +import { fileDownload } from "../../../util/file_download"; import type { ConfigEntryExtended } from "./ha-config-integrations"; import "./ha-integration-header"; @@ -647,7 +648,7 @@ export class HaIntegrationCard extends LitElement { this.hass, anchor.getAttribute("href") ); - document.location.assign(signedUrl.path); + fileDownload(signedUrl.path); } static get styles(): CSSResultGroup { diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts index 42f9c88675..6b0d850953 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-logs.ts @@ -131,7 +131,6 @@ class ZWaveJSLogs extends SubscribeMixin(LitElement) { private _downloadLogs() { fileDownload( - this, `data:text/plain;charset=utf-8,${encodeURIComponent( this._textarea!.value )}`, diff --git a/src/util/file_download.ts b/src/util/file_download.ts index 6f7eed86dd..f163b146a5 100644 --- a/src/util/file_download.ts +++ b/src/util/file_download.ts @@ -1,14 +1,10 @@ -export const fileDownload = ( - element: HTMLElement, - href: string, - filename: string -): void => { +export const fileDownload = (href: string, filename = ""): void => { const a = document.createElement("a"); a.target = "_blank"; a.href = href; a.download = filename; - element.shadowRoot!.appendChild(a); + document.body.appendChild(a); a.dispatchEvent(new MouseEvent("click")); - element.shadowRoot!.removeChild(a); + document.body.removeChild(a); };