🐛 fix severity toggle in gauge card editor (#4600)

This commit is contained in:
Ian Richardson 2020-01-25 07:35:48 -06:00 committed by Bram Kragten
parent f77bd79387
commit 6874788cc0

View File

@ -39,11 +39,8 @@ export class HuiGaugeCardEditor extends LitElement
@property() private _config?: GaugeCardConfig;
private _useSeverity?: boolean;
public setConfig(config: GaugeCardConfig): void {
config = cardConfigStruct(config);
this._useSeverity = !!config.severity;
this._config = config;
}
@ -106,7 +103,6 @@ export class HuiGaugeCardEditor extends LitElement
.configValue=${"name"}
@value-changed="${this._valueChanged}"
></paper-input>
<div class="side-by-side">
<paper-input
.label="${this.hass.localize(
"ui.panel.lovelace.editor.card.generic.unit"
@ -123,8 +119,6 @@ export class HuiGaugeCardEditor extends LitElement
.configValue="${"theme"}"
@theme-changed="${this._valueChanged}"
></hui-theme-select-editor>
</div>
<div class="side-by-side">
<paper-input
type="number"
.label="${this.hass.localize(
@ -147,17 +141,15 @@ export class HuiGaugeCardEditor extends LitElement
.configValue=${"max"}
@value-changed="${this._valueChanged}"
></paper-input>
</div>
<ha-switch
.checked="${this._useSeverity !== false}"
.checked="${this._config!.severity !== undefined}"
@change="${this._toggleSeverity}"
>${this.hass.localize(
"ui.panel.lovelace.editor.card.gauge.severity.define"
)}</ha-switch
>
${this._useSeverity
${this._config!.severity !== undefined
? html`
<div class="severity side-by-side">
<paper-input
type="number"
.label="${this.hass.localize(
@ -192,7 +184,6 @@ export class HuiGaugeCardEditor extends LitElement
@value-changed="${this._severityChanged}"
></paper-input>
</div>
</div>
`
: ""}
</div>
@ -222,15 +213,16 @@ export class HuiGaugeCardEditor extends LitElement
if (!this._config || !this.hass) {
return;
}
const target = ev.target! as EditorTarget;
this._config.severity = target.checked
? {
if ((ev.target as EditorTarget).checked) {
this._config.severity = {
green: 0,
yellow: 0,
red: 0,
};
} else {
delete this._config.severity;
}
: undefined;
fireEvent(this, "config-changed", { config: this._config });
}