diff --git a/src/common/dom/is-navigation-click.ts b/src/common/dom/is-navigation-click.ts
index 9cc92a5832..56bbe9d94b 100644
--- a/src/common/dom/is-navigation-click.ts
+++ b/src/common/dom/is-navigation-click.ts
@@ -1,4 +1,4 @@
-export const isNavigationClick = (e: MouseEvent) => {
+export const isNavigationClick = (e: MouseEvent, preventDefault = true) => {
// Taken from polymer/pwa-helpers. BSD-3 licensed
if (
e.defaultPrevented ||
@@ -40,6 +40,8 @@ export const isNavigationClick = (e: MouseEvent) => {
return undefined;
}
- e.preventDefault();
+ if (preventDefault) {
+ e.preventDefault();
+ }
return href;
};
diff --git a/src/dialogs/config-flow/step-flow-form.ts b/src/dialogs/config-flow/step-flow-form.ts
index 8be65a68a9..f951dda0d2 100644
--- a/src/dialogs/config-flow/step-flow-form.ts
+++ b/src/dialogs/config-flow/step-flow-form.ts
@@ -21,6 +21,7 @@ import type { DataEntryFlowStepForm } from "../../data/data_entry_flow";
import type { HomeAssistant } from "../../types";
import type { FlowConfig } from "./show-dialog-data-entry-flow";
import { configFlowContentStyles } from "./styles";
+import { isNavigationClick } from "../../common/dom/is-navigation-click";
@customElement("step-flow-form")
class StepFlowForm extends LitElement {
@@ -47,7 +48,7 @@ class StepFlowForm extends LitElement {
return html`
+
${this.flowConfig.renderShowFormStepDescription(this.hass, this.step)}
${this._errorMsg
? html`${this._errorMsg}`
@@ -92,6 +93,14 @@ class StepFlowForm extends LitElement {
this.addEventListener("keydown", this._handleKeyDown);
}
+ private _clickHandler(ev: MouseEvent) {
+ if (isNavigationClick(ev, false)) {
+ fireEvent(this, "flow-update", {
+ step: undefined,
+ });
+ }
+ }
+
private _handleKeyDown = (ev: KeyboardEvent) => {
if (ev.key === "Enter") {
this._submitStep();
diff --git a/src/panels/config/repairs/dialog-repairs-issue.ts b/src/panels/config/repairs/dialog-repairs-issue.ts
index fe6bc4b4f5..3aae980d29 100644
--- a/src/panels/config/repairs/dialog-repairs-issue.ts
+++ b/src/panels/config/repairs/dialog-repairs-issue.ts
@@ -3,6 +3,7 @@ import { css, CSSResultGroup, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import { formatDateNumeric } from "../../../common/datetime/format_date";
import { fireEvent } from "../../../common/dom/fire_event";
+import { isNavigationClick } from "../../../common/dom/is-navigation-click";
import { createCloseHeading } from "../../../components/ha-dialog";
import "../../../components/ha-markdown";
import { ignoreRepairsIssue, RepairsIssue } from "../../../data/repairs";
@@ -71,6 +72,7 @@ class DialogRepairsIssue extends LitElement {