@@ -161,7 +168,7 @@ export class DialogEnergyGasSettings
)}
.excludeStatistics=${this._excludeList}
@value-changed=${this._statisticChanged}
- dialogInitialFocus
+ autofocus
>
@@ -281,21 +288,23 @@ export class DialogEnergyGasSettings
`
: ""}
-
- ${this.hass.localize("ui.common.cancel")}
-
-
- ${this.hass.localize("ui.common.save")}
-
-
+
+
+ ${this.hass.localize("ui.common.cancel")}
+
+
+ ${this.hass.localize("ui.common.save")}
+
+
+
`;
}
@@ -370,9 +379,6 @@ export class DialogEnergyGasSettings
haStyle,
haStyleDialog,
css`
- ha-dialog {
- --mdc-dialog-max-width: 430px;
- }
ha-formfield {
display: block;
}
diff --git a/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts
index 25bf92153a..68555cfd2b 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-grid-flow-settings.ts
@@ -1,15 +1,15 @@
-import { mdiTransmissionTower } from "@mdi/js";
import type { CSSResultGroup } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import { fireEvent } from "../../../../common/dom/fire_event";
import "../../../../components/entity/ha-entity-picker";
import "../../../../components/entity/ha-statistic-picker";
-import "../../../../components/ha-dialog";
import "../../../../components/ha-button";
+import "../../../../components/ha-dialog-footer";
import "../../../../components/ha-formfield";
import "../../../../components/ha-radio";
import "../../../../components/ha-markdown";
+import "../../../../components/ha-wa-dialog";
import type { HaRadio } from "../../../../components/ha-radio";
import type {
FlowFromGridSourceEnergyPreference,
@@ -38,6 +38,8 @@ export class DialogEnergyGridFlowSettings
@state() private _params?: EnergySettingsGridFlowDialogParams;
+ @state() private _open = false;
+
@state() private _source?:
| FlowFromGridSourceEnergyPreference
| FlowToGridSourceEnergyPreference;
@@ -88,15 +90,21 @@ export class DialogEnergyGridFlowSettings
(entry) => entry.stat_energy_to
) || []),
].filter((id) => id !== initialSourceId);
+
+ this._open = true;
}
public closeDialog() {
+ this._open = false;
+ return true;
+ }
+
+ private _dialogClosed() {
this._params = undefined;
this._source = undefined;
this._error = undefined;
this._excludeList = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
- return true;
}
protected render() {
@@ -121,16 +129,13 @@ export class DialogEnergyGridFlowSettings
);
return html`
- ${this.hass.localize(
- `ui.panel.config.energy.grid.flow_dialog.${this._params.direction}.header`
- )}`}
- @closed=${this.closeDialog}
+
${this._error ? html`${this._error}
` : ""}
@@ -157,7 +162,7 @@ export class DialogEnergyGridFlowSettings
`ui.panel.config.energy.grid.flow_dialog.${this._params.direction}.entity_para`,
{ unit: this._energy_units?.join(", ") || "" }
)}
- dialogInitialFocus
+ autofocus
>
@@ -265,25 +270,27 @@ export class DialogEnergyGridFlowSettings
`
: ""}
-
- ${this.hass.localize("ui.common.cancel")}
-
-
- ${this.hass.localize("ui.common.save")}
-
-
+
+
+ ${this.hass.localize("ui.common.cancel")}
+
+
+ ${this.hass.localize("ui.common.save")}
+
+
+
`;
}
@@ -359,9 +366,6 @@ export class DialogEnergyGridFlowSettings
return [
haStyleDialog,
css`
- ha-dialog {
- --mdc-dialog-max-width: 430px;
- }
ha-statistic-picker {
display: block;
margin: var(--ha-space-4) 0;
diff --git a/src/panels/config/energy/dialogs/dialog-energy-grid-power-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-grid-power-settings.ts
index 55f89c7c2f..0807653edc 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-grid-power-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-grid-power-settings.ts
@@ -1,13 +1,13 @@
-import { mdiTransmissionTower } from "@mdi/js";
import type { CSSResultGroup } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import { fireEvent } from "../../../../common/dom/fire_event";
import "../../../../components/entity/ha-statistic-picker";
-import "../../../../components/ha-dialog";
import "../../../../components/ha-button";
+import "../../../../components/ha-dialog-footer";
import "../../../../components/ha-formfield";
import "../../../../components/ha-radio";
+import "../../../../components/ha-wa-dialog";
import type { HaRadio } from "../../../../components/ha-radio";
import type {
GridPowerSourceInput,
@@ -33,6 +33,8 @@ export class DialogEnergyGridPowerSettings
@state() private _params?: EnergySettingsGridPowerDialogParams;
+ @state() private _open = false;
+
@state() private _sensorType: SensorType = "standard";
@state() private _powerConfig: PowerConfig = {};
@@ -100,16 +102,22 @@ export class DialogEnergyGridPowerSettings
this._excludeListPower = excludeIds.filter(
(id) => !currentIds.includes(id)
);
+
+ this._open = true;
}
public closeDialog() {
+ this._open = false;
+ return true;
+ }
+
+ private _dialogClosed() {
this._params = undefined;
this._powerConfig = {};
this._sensorType = "standard";
this._error = undefined;
this._excludeListPower = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
- return true;
}
protected render() {
@@ -118,16 +126,13 @@ export class DialogEnergyGridPowerSettings
}
return html`
- ${this.hass.localize(
- "ui.panel.config.energy.grid.power_dialog.header"
- )}`}
- @closed=${this.closeDialog}
+
${this._error ? html`${this._error}
` : nothing}
@@ -190,7 +195,7 @@ export class DialogEnergyGridPowerSettings
"ui.panel.config.energy.grid.power_dialog.power_helper",
{ unit: this._power_units?.join(", ") || "" }
)}
- dialogInitialFocus
+ autofocus
>
`
: nothing}
@@ -209,7 +214,7 @@ export class DialogEnergyGridPowerSettings
.helper=${this.hass.localize(
"ui.panel.config.energy.grid.power_dialog.type_inverted_description"
)}
- dialogInitialFocus
+ autofocus
>
`
: nothing}
@@ -228,7 +233,7 @@ export class DialogEnergyGridPowerSettings
this._powerConfig.stat_rate_to,
].filter((id): id is string => Boolean(id))}
@value-changed=${this._fromStatisticChanged}
- dialogInitialFocus
+ autofocus
>
- ${this.hass.localize("ui.common.cancel")}
-
-
- ${this.hass.localize("ui.common.save")}
-
-
+
+
+ ${this.hass.localize("ui.common.cancel")}
+
+
+ ${this.hass.localize("ui.common.save")}
+
+
+
`;
}
@@ -329,9 +336,6 @@ export class DialogEnergyGridPowerSettings
return [
haStyleDialog,
css`
- ha-dialog {
- --mdc-dialog-max-width: 430px;
- }
ha-formfield {
display: block;
}
diff --git a/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts
index 7798477db1..d1f32e172e 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-solar-settings.ts
@@ -1,4 +1,4 @@
-import { mdiPlus, mdiSolarPower } from "@mdi/js";
+import { mdiPlus } from "@mdi/js";
import type { CSSResultGroup } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
@@ -6,11 +6,12 @@ import { fireEvent } from "../../../../common/dom/fire_event";
import "../../../../components/entity/ha-statistic-picker";
import "../../../../components/ha-checkbox";
import type { HaCheckbox } from "../../../../components/ha-checkbox";
-import "../../../../components/ha-dialog";
import "../../../../components/ha-formfield";
import "../../../../components/ha-button";
+import "../../../../components/ha-dialog-footer";
import "../../../../components/ha-radio";
import "../../../../components/ha-svg-icon";
+import "../../../../components/ha-wa-dialog";
import type { HaRadio } from "../../../../components/ha-radio";
import type { ConfigEntry } from "../../../../data/config_entries";
import { getConfigEntries } from "../../../../data/config_entries";
@@ -39,6 +40,8 @@ export class DialogEnergySolarSettings
@state() private _params?: EnergySettingsSolarDialogParams;
+ @state() private _open = false;
+
@state() private _source?: SolarSourceTypeEnergyPreference;
@state() private _configEntries?: ConfigEntry[];
@@ -76,15 +79,21 @@ export class DialogEnergySolarSettings
this._excludeListPower = this._params.solar_sources
.map((entry) => entry.stat_rate)
.filter((id) => id && id !== this._source?.stat_rate) as string[];
+
+ this._open = true;
}
public closeDialog() {
+ this._open = false;
+ return true;
+ }
+
+ private _dialogClosed() {
this._params = undefined;
this._source = undefined;
this._error = undefined;
this._excludeList = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
- return true;
}
protected render() {
@@ -93,14 +102,13 @@ export class DialogEnergySolarSettings
}
return html`
-
- ${this.hass.localize("ui.panel.config.energy.solar.dialog.header")}`}
- @closed=${this.closeDialog}
+
${this._error ? html`${this._error}
` : ""}
@@ -118,7 +126,7 @@ export class DialogEnergySolarSettings
"ui.panel.config.energy.solar.dialog.entity_para",
{ unit: this._energy_units?.join(", ") || "" }
)}
- dialogInitialFocus
+ autofocus
>
`
: ""}
-
- ${this.hass.localize("ui.common.cancel")}
-
-
- ${this.hass.localize("ui.common.save")}
-
-
+
+
+ ${this.hass.localize("ui.common.cancel")}
+
+
+ ${this.hass.localize("ui.common.save")}
+
+
+
`;
}
@@ -310,9 +320,6 @@ export class DialogEnergySolarSettings
haStyle,
haStyleDialog,
css`
- ha-dialog {
- --mdc-dialog-max-width: 430px;
- }
ha-statistic-picker {
display: block;
margin-bottom: var(--ha-space-4);
diff --git a/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts b/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts
index e81328fa35..4d71095328 100644
--- a/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts
+++ b/src/panels/config/energy/dialogs/dialog-energy-water-settings.ts
@@ -1,15 +1,15 @@
-import { mdiWater } from "@mdi/js";
import type { CSSResultGroup } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import { fireEvent } from "../../../../common/dom/fire_event";
import "../../../../components/entity/ha-entity-picker";
import "../../../../components/entity/ha-statistic-picker";
-import "../../../../components/ha-dialog";
import "../../../../components/ha-button";
+import "../../../../components/ha-dialog-footer";
import "../../../../components/ha-formfield";
import "../../../../components/ha-radio";
import "../../../../components/ha-markdown";
+import "../../../../components/ha-wa-dialog";
import type { HaRadio } from "../../../../components/ha-radio";
import "../../../../components/ha-textfield";
import type { WaterSourceTypeEnergyPreference } from "../../../../data/energy";
@@ -33,6 +33,8 @@ export class DialogEnergyWaterSettings
@state() private _params?: EnergySettingsWaterDialogParams;
+ @state() private _open = false;
+
@state() private _source?: WaterSourceTypeEnergyPreference;
@state() private _costs?: "no-costs" | "number" | "entity" | "statistic";
@@ -63,15 +65,21 @@ export class DialogEnergyWaterSettings
this._excludeList = this._params.water_sources
.map((entry) => entry.stat_energy_from)
.filter((id) => id !== this._source?.stat_energy_from);
+
+ this._open = true;
}
public closeDialog() {
+ this._open = false;
+ return true;
+ }
+
+ private _dialogClosed() {
this._params = undefined;
this._source = undefined;
this._error = undefined;
this._excludeList = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
- return true;
}
protected render() {
@@ -90,14 +98,13 @@ export class DialogEnergyWaterSettings
isExternalStatistic(this._source.stat_energy_from);
return html`
-
- ${this.hass.localize("ui.panel.config.energy.water.dialog.header")}`}
- @closed=${this.closeDialog}
+
${this._error ? html`${this._error}
` : ""}
@@ -125,7 +132,7 @@ export class DialogEnergyWaterSettings
)}
.excludeStatistics=${this._excludeList}
@value-changed=${this._statisticChanged}
- dialogInitialFocus
+ autofocus
>
@@ -227,21 +234,23 @@ export class DialogEnergyWaterSettings
`
: ""}
-
- ${this.hass.localize("ui.common.cancel")}
-
-
- ${this.hass.localize("ui.common.save")}
-
-
+
+
+ ${this.hass.localize("ui.common.cancel")}
+
+
+ ${this.hass.localize("ui.common.save")}
+
+
+
`;
}
@@ -310,9 +319,6 @@ export class DialogEnergyWaterSettings
haStyle,
haStyleDialog,
css`
- ha-dialog {
- --mdc-dialog-max-width: 430px;
- }
ha-formfield {
display: block;
}