hassio-addon-audio confirmation

This commit is contained in:
Ludeeus 2020-08-28 18:53:09 +00:00
parent 44a25925fe
commit 5093fcbf78

View File

@ -28,6 +28,7 @@ import { haStyle } from "../../../../src/resources/styles";
import { HomeAssistant } from "../../../../src/types";
import { suggestAddonRestart } from "../../dialogs/suggestAddonRestart";
import { hassioStyle } from "../../resources/hassio-style";
import { HaProgressButtonElement } from "../../../../src/components/buttons/ha-progress-button";
@customElement("hassio-addon-audio")
class HassioAddonAudio extends LitElement {
@ -91,7 +92,9 @@ class HassioAddonAudio extends LitElement {
</paper-dropdown-menu>
</div>
<div class="card-actions">
<mwc-button @click=${this._saveSettings}>Save</mwc-button>
<ha-progress-button @click=${this._saveSettings}>
Save
</ha-progress-button>
</div>
</ha-card>
`;
@ -172,7 +175,10 @@ class HassioAddonAudio extends LitElement {
}
}
private async _saveSettings(): Promise<void> {
private async _saveSettings(ev: CustomEvent): Promise<void> {
const button = ev.target as HaProgressButtonElement;
button.progress = true;
this._error = undefined;
const data: HassioAddonSetOptionParams = {
audio_input:
@ -182,12 +188,14 @@ class HassioAddonAudio extends LitElement {
};
try {
await setHassioAddonOption(this.hass, this.addon.slug, data);
if (this.addon?.state === "started") {
await suggestAddonRestart(this, this.hass, this.addon);
}
} catch {
this._error = "Failed to set addon audio device";
}
if (!this._error && this.addon?.state === "started") {
await suggestAddonRestart(this, this.hass, this.addon);
}
button.progress = false;
}
}