diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index cfdd2fb439..6fee1dd65d 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -934,7 +934,10 @@ class HassioAddonInfo extends LitElement { } private async _updateClicked(): Promise { - showDialogSupervisorAddonUpdate(this, { addon: this.addon }); + showDialogSupervisorAddonUpdate(this, { + addon: this.addon, + supervisor: this.supervisor, + }); } private async _startClicked(ev: CustomEvent): Promise { diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index 7bbd6d6f73..e479c7e04f 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -136,7 +136,7 @@ export class HassioUpdate extends LitElement { private async _confirmUpdate(ev): Promise { const item = ev.currentTarget; if (item.key === "core") { - showDialogSupervisorCoreUpdate(this, { core: this.supervisor.core }); + showDialogSupervisorCoreUpdate(this, { supervisor: this.supervisor }); return; } item.progress = true; diff --git a/hassio/src/dialogs/addon/dialog-supervisor-addon-update.ts b/hassio/src/dialogs/addon/dialog-supervisor-addon-update.ts index bc7f8ad625..2e6b778172 100644 --- a/hassio/src/dialogs/addon/dialog-supervisor-addon-update.ts +++ b/hassio/src/dialogs/addon/dialog-supervisor-addon-update.ts @@ -6,6 +6,7 @@ import { html, internalProperty, LitElement, + property, TemplateResult, } from "lit-element"; import { fireEvent } from "../../../../src/common/dom/fire_event"; @@ -19,6 +20,7 @@ import { updateHassioAddon, } from "../../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; +import { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { createHassioPartialSnapshot } from "../../../../src/data/hassio/snapshot"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; @@ -26,6 +28,8 @@ import { SupervisorDialogSupervisorAddonUpdateParams } from "./show-dialog-addon @customElement("dialog-supervisor-addon-update") class DialogSupervisorAddonUpdate extends LitElement { + @property({ attribute: false }) public supervisor!: Supervisor; + public hass!: HomeAssistant; public addon!: HassioAddonDetails; @@ -43,6 +47,7 @@ class DialogSupervisorAddonUpdate extends LitElement { ): Promise { this._opened = true; this.addon = params.addon; + this.supervisor = params.supervisor; await this.updateComplete; } @@ -50,6 +55,7 @@ class DialogSupervisorAddonUpdate extends LitElement { this._action = null; this._createSnapshot = true; this._opened = false; + this._error = undefined; fireEvent(this, "dialog-closed", { dialog: this.localName }); } @@ -94,7 +100,12 @@ class DialogSupervisorAddonUpdate extends LitElement { Cancel - + Update ` : html` diff --git a/hassio/src/dialogs/addon/show-dialog-addon-update.ts b/hassio/src/dialogs/addon/show-dialog-addon-update.ts index bb6bebe683..11c46e6bab 100644 --- a/hassio/src/dialogs/addon/show-dialog-addon-update.ts +++ b/hassio/src/dialogs/addon/show-dialog-addon-update.ts @@ -1,8 +1,10 @@ import { fireEvent } from "../../../../src/common/dom/fire_event"; import { HassioAddonDetails } from "../../../../src/data/hassio/addon"; +import { Supervisor } from "../../../../src/data/supervisor/supervisor"; export interface SupervisorDialogSupervisorAddonUpdateParams { addon: HassioAddonDetails; + supervisor: Supervisor; } export const showDialogSupervisorAddonUpdate = ( diff --git a/hassio/src/dialogs/core/dialog-supervisor-core-update.ts b/hassio/src/dialogs/core/dialog-supervisor-core-update.ts index 99c0bddcdd..092507f366 100644 --- a/hassio/src/dialogs/core/dialog-supervisor-core-update.ts +++ b/hassio/src/dialogs/core/dialog-supervisor-core-update.ts @@ -6,6 +6,7 @@ import { html, internalProperty, LitElement, + property, TemplateResult, } from "lit-element"; import { fireEvent } from "../../../../src/common/dom/fire_event"; @@ -16,17 +17,17 @@ import "../../../../src/components/ha-svg-icon"; import "../../../../src/components/ha-switch"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { createHassioPartialSnapshot } from "../../../../src/data/hassio/snapshot"; -import { HassioHomeAssistantInfo } from "../../../../src/data/hassio/supervisor"; import { updateCore } from "../../../../src/data/supervisor/core"; +import { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; import { SupervisorDialogSupervisorCoreUpdateParams } from "./show-dialog-core-update"; @customElement("dialog-supervisor-core-update") class DialogSupervisorCoreUpdate extends LitElement { - public hass!: HomeAssistant; + @property({ attribute: false }) public supervisor!: Supervisor; - public core!: HassioHomeAssistantInfo; + public hass!: HomeAssistant; @internalProperty() private _opened = false; @@ -40,7 +41,7 @@ class DialogSupervisorCoreUpdate extends LitElement { params: SupervisorDialogSupervisorCoreUpdateParams ): Promise { this._opened = true; - this.core = params.core; + this.supervisor = params.supervisor; await this.updateComplete; } @@ -48,6 +49,7 @@ class DialogSupervisorCoreUpdate extends LitElement { this._action = null; this._createSnapshot = true; this._opened = false; + this._error = undefined; fireEvent(this, "dialog-closed", { dialog: this.localName }); } @@ -70,7 +72,7 @@ class DialogSupervisorCoreUpdate extends LitElement {
Are you sure you want to update Home Assistant Core to version - ${this.core.version_latest}? + ${this.supervisor.core.version_latest}?
@@ -91,14 +93,19 @@ class DialogSupervisorCoreUpdate extends LitElement { Cancel - + Update ` : html`

${this._action === "update" - ? `Updating Home Assistant Core to version ${this.core.version_latest}` + ? `Updating Home Assistant Core to version ${this.supervisor.core.version_latest}` : "Creating snapshot of Home Assistant Core"}

`} ${this._error ? html`

${this._error}

` : ""} @@ -115,7 +122,7 @@ class DialogSupervisorCoreUpdate extends LitElement { this._action = "snapshot"; try { await createHassioPartialSnapshot(this.hass, { - name: `core_${this.core.version}`, + name: `core_${this.supervisor.core.version}`, folders: ["homeassistant"], homeassistant: true, }); diff --git a/hassio/src/dialogs/core/show-dialog-core-update.ts b/hassio/src/dialogs/core/show-dialog-core-update.ts index 0c2e173d7c..f5621c7a4e 100644 --- a/hassio/src/dialogs/core/show-dialog-core-update.ts +++ b/hassio/src/dialogs/core/show-dialog-core-update.ts @@ -1,8 +1,8 @@ import { fireEvent } from "../../../../src/common/dom/fire_event"; -import { HassioHomeAssistantInfo } from "../../../../src/data/hassio/supervisor"; +import { Supervisor } from "../../../../src/data/supervisor/supervisor"; export interface SupervisorDialogSupervisorCoreUpdateParams { - core: HassioHomeAssistantInfo; + supervisor: Supervisor; } export const showDialogSupervisorCoreUpdate = ( diff --git a/hassio/src/system/hassio-core-info.ts b/hassio/src/system/hassio-core-info.ts index 21ab1c84b6..80075449d9 100644 --- a/hassio/src/system/hassio-core-info.ts +++ b/hassio/src/system/hassio-core-info.ts @@ -152,7 +152,7 @@ class HassioCoreInfo extends LitElement { } private async _coreUpdate(): Promise { - showDialogSupervisorCoreUpdate(this, { core: this.supervisor.core }); + showDialogSupervisorCoreUpdate(this, { supervisor: this.supervisor }); } static get styles(): CSSResult[] {