Prevent delete pipeline if preferred (#16237)

This commit is contained in:
Bram Kragten 2023-04-19 12:12:47 +02:00 committed by GitHub
parent afa071465c
commit d8cb5a6a42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 11 deletions

View File

@ -160,13 +160,9 @@ export class AssistPref extends LitElement {
return false;
}
try {
await deleteAssistPipeline(this.hass!, pipeline!.id);
this._pipelines = this._pipelines!.filter((res) => res !== pipeline);
return true;
} catch (err: any) {
return false;
}
await deleteAssistPipeline(this.hass!, pipeline!.id);
this._pipelines = this._pipelines!.filter((res) => res !== pipeline);
return true;
},
});
}

View File

@ -81,8 +81,8 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement {
<ha-button
slot="secondaryAction"
class="warning"
.disabled=${this._preferred || this._submitting}
@click=${this._deletePipeline}
.disabled=${this._submitting}
>
${this.hass.localize("ui.common.delete")}
</ha-button>
@ -104,7 +104,7 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement {
<ha-button
slot="primaryAction"
@click=${this._updatePipeline}
.disabled=${Boolean(this._error) || this._submitting}
.disabled=${this._submitting}
dialogInitialFocus
>
${this._params.pipeline?.id
@ -198,8 +198,15 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement {
}
private async _setPreferred() {
await this._params!.setPipelinePreferred();
this._preferred = true;
this._submitting = true;
try {
await this._params!.setPipelinePreferred();
this._preferred = true;
} catch (err: any) {
this._error = { base: err?.message || "Unknown error" };
} finally {
this._submitting = false;
}
}
private async _deletePipeline() {
@ -208,6 +215,8 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement {
if (await this._params!.deletePipeline()) {
this.closeDialog();
}
} catch (err: any) {
this._error = { base: err?.message || "Unknown error" };
} finally {
this._submitting = false;
}