Backup with db requires config, disabled next if no data is selected (#23549)

This commit is contained in:
Bram Kragten 2025-01-02 15:38:11 +01:00 committed by GitHub
parent 34bcd5e71c
commit fa672ffbba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 34 additions and 16 deletions

View File

@ -138,7 +138,8 @@ class HaBackupConfigData extends LitElement {
const include_addons = data.addons_mode === "custom" ? data.addons : [];
this.value = {
include_homeassistant: data.homeassistant || this.forceHomeAssistant,
include_homeassistant:
data.homeassistant || data.database || this.forceHomeAssistant,
include_addons: include_addons.length ? include_addons : undefined,
include_all_addons: data.addons_mode === "all",
include_database: data.database,
@ -168,7 +169,7 @@ class HaBackupConfigData extends LitElement {
slot="end"
@change=${this._switchChanged}
.checked=${data.homeassistant}
.disabled=${this.forceHomeAssistant}
.disabled=${this.forceHomeAssistant || data.database}
></ha-switch>
</ha-md-list-item>
@ -296,7 +297,6 @@ class HaBackupConfigData extends LitElement {
...data,
[target.id]: target.checked,
});
fireEvent(this, "value-changed", { value: this.value });
}
private _selectChanged(ev: Event) {
@ -309,7 +309,6 @@ class HaBackupConfigData extends LitElement {
if (target.id === "addons_mode") {
this._showAddons = target.value === "custom";
}
fireEvent(this, "value-changed", { value: this.value });
}
private _addonsChanged(ev: CustomEvent) {
@ -320,7 +319,6 @@ class HaBackupConfigData extends LitElement {
...data,
addons,
});
fireEvent(this, "value-changed", { value: this.value });
}
static styles = css`

View File

@ -209,12 +209,30 @@ class DialogGenerateBackup extends LitElement implements HassDialog {
Create backup
</ha-button>
`
: html`<ha-button @click=${this._nextStep}>Next</ha-button>`}
: html`<ha-button
@click=${this._nextStep}
.disabled=${this._step === "data" && this._noDataSelected}
>Next</ha-button
>`}
</div>
</ha-md-dialog>
`;
}
private get _noDataSelected() {
const hassio = isComponentLoaded(this.hass, "hassio");
if (
this._formData?.data.include_homeassistant ||
this._formData?.data.include_database ||
(hassio && this._formData?.data.include_folders?.length) ||
(hassio && this._formData?.data.include_all_addons) ||
(hassio && this._formData?.data.include_addons?.length)
) {
return false;
}
return true;
}
private _renderData() {
if (!this._formData) {
return nothing;

View File

@ -189,22 +189,24 @@ class HaConfigBackupOverview extends LitElement {
>
</ha-backup-overview-onboarding>
`
: html`
<ha-backup-overview-summary
.hass=${this.hass}
.backups=${this.backups}
.config=${this.config}
.fetching=${this.fetching}
>
</ha-backup-overview-summary>
`}
: this.config
? html`
<ha-backup-overview-summary
.hass=${this.hass}
.backups=${this.backups}
.config=${this.config}
.fetching=${this.fetching}
>
</ha-backup-overview-summary>
`
: nothing}
<ha-backup-overview-backups
.hass=${this.hass}
.backups=${this.backups}
></ha-backup-overview-backups>
${!this._needsOnboarding
${!this._needsOnboarding && this.config
? html`
<ha-backup-overview-settings
.hass=${this.hass}