diff --git a/hassio/src/components/supervisor-backup-content.ts b/hassio/src/components/supervisor-backup-content.ts index d1422521b8..8a24c48d3c 100644 --- a/hassio/src/components/supervisor-backup-content.ts +++ b/hassio/src/components/supervisor-backup-content.ts @@ -1,7 +1,7 @@ import { mdiFolder, mdiHomeAssistant, mdiPuzzle } from "@mdi/js"; import { PaperInputElement } from "@polymer/paper-input/paper-input"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; -import { customElement, property } from "lit/decorators"; +import { customElement, property, query } from "lit/decorators"; import { atLeastVersion } from "../../../src/common/config/version"; import { formatDate } from "../../../src/common/datetime/format_date"; import { formatDateTime } from "../../../src/common/datetime/format_date_time"; @@ -92,6 +92,8 @@ export class SupervisorBackupContent extends LitElement { @property() public confirmBackupPassword = ""; + @query("paper-input, ha-radio, ha-checkbox", true) private _focusTarget; + public willUpdate(changedProps) { super.willUpdate(changedProps); if (!this.hasUpdated) { @@ -109,6 +111,10 @@ export class SupervisorBackupContent extends LitElement { } } + public override focus() { + this._focusTarget?.focus(); + } + private _localize = (string: string) => this.supervisor?.localize(`backup.${string}`) || this.localize!(`ui.panel.page-onboarding.restore.${string}`); diff --git a/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts b/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts index f6a80cefe6..05901f2a3a 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-backup-upload.ts @@ -64,6 +64,7 @@ export class DialogHassioBackupUpload .path=${mdiClose} slot="actionItems" dialogAction="cancel" + dialogInitialFocus > diff --git a/hassio/src/dialogs/backup/dialog-hassio-backup.ts b/hassio/src/dialogs/backup/dialog-hassio-backup.ts index 5a5fc61810..a993113ee5 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-backup.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-backup.ts @@ -92,6 +92,7 @@ class HassioBackupDialog .backup=${this._backup} .onboarding=${this._dialogParams.onboarding || false} .localize=${this._dialogParams.localize} + dialogInitialFocus > `} ${this._error diff --git a/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts b/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts index 0c73b81e88..f5fe92e28d 100644 --- a/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts +++ b/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts @@ -61,6 +61,7 @@ class HassioCreateBackupDialog extends LitElement { : html` `} ${this._error diff --git a/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts b/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts index 4bad79ca7f..564a1fe689 100644 --- a/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts +++ b/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts @@ -94,6 +94,7 @@ class HassioDatadiskDialog extends LitElement { "dialog.datadisk_move.select_device" )} @selected=${this._select_device} + dialogInitialFocus > ${this.devices.map( (device) => @@ -111,7 +112,11 @@ class HassioDatadiskDialog extends LitElement { "dialog.datadisk_move.no_devices" )} - + ${this.dialogParams.supervisor.localize( "dialog.datadisk_move.cancel" )} diff --git a/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts b/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts index 5575658d5e..4022305946 100755 --- a/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts +++ b/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts @@ -80,7 +80,7 @@ class HassioHardwareDialog extends LitElement { > - + `; } diff --git a/hassio/src/dialogs/network/dialog-hassio-network.ts b/hassio/src/dialogs/network/dialog-hassio-network.ts index 3e3c8720b4..898806009c 100644 --- a/hassio/src/dialogs/network/dialog-hassio-network.ts +++ b/hassio/src/dialogs/network/dialog-hassio-network.ts @@ -119,6 +119,7 @@ export class DialogHassioNetwork html` ` )} @@ -315,6 +316,7 @@ export class DialogHassioNetwork value="auto" name="${version}method" .checked=${this._interface![version]?.method === "auto"} + dialogInitialFocus > diff --git a/hassio/src/dialogs/registries/dialog-hassio-registries.ts b/hassio/src/dialogs/registries/dialog-hassio-registries.ts index 5f7d1967ae..7ca0b3de1c 100644 --- a/hassio/src/dialogs/registries/dialog-hassio-registries.ts +++ b/hassio/src/dialogs/registries/dialog-hassio-registries.ts @@ -80,6 +80,7 @@ class HassioRegistriesDialog extends LitElement { .schema=${SCHEMA} @value-changed=${this._valueChanged} .computeLabel=${this._computeLabel} + dialogInitialFocus >
`}
- + ${this.supervisor.localize( "dialog.registries.add_new_registry" )} diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index b9707f5986..b208093465 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -139,6 +139,7 @@ class HassioRepositoriesDialog extends LitElement { "dialog.repositories.add" )} @keydown=${this._handleKeyAdd} + dialogInitialFocus > ${this._processing