mirror of
https://github.com/home-assistant/frontend.git
synced 2025-12-20 02:38:53 +00:00
scroll to top when installing an update
This commit is contained in:
@@ -29,6 +29,13 @@ import {
|
||||
} from "../../../data/update";
|
||||
import type { HomeAssistant } from "../../../types";
|
||||
import { showAlertDialog } from "../../generic/show-dialog-box";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
|
||||
declare global {
|
||||
interface HASSDomEvents {
|
||||
"more-info-update-clicked": undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@customElement("more-info-update")
|
||||
class MoreInfoUpdate extends LitElement {
|
||||
@@ -406,6 +413,8 @@ class MoreInfoUpdate extends LitElement {
|
||||
}
|
||||
|
||||
this.hass.callService("update", "install", installData);
|
||||
|
||||
fireEvent(this, "more-info-update-clicked");
|
||||
}
|
||||
|
||||
private _createBackupChanged(ev) {
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
import type { HassEntity } from "home-assistant-js-websocket";
|
||||
import type { PropertyValues } from "lit";
|
||||
import { LitElement, css, html, nothing } from "lit";
|
||||
import { customElement, property, state } from "lit/decorators";
|
||||
import { customElement, property, state, query } from "lit/decorators";
|
||||
import { cache } from "lit/directives/cache";
|
||||
import { join } from "lit/directives/join";
|
||||
import { dynamicElement } from "../../common/dom/dynamic-element-directive";
|
||||
@@ -50,6 +50,7 @@ import { getSensorNumericDeviceClasses } from "../../data/sensor";
|
||||
import { haStyleDialog } from "../../resources/styles";
|
||||
import "../../state-summary/state-card-content";
|
||||
import type { HomeAssistant } from "../../types";
|
||||
import type { HaDialog } from "../../components/ha-dialog";
|
||||
import {
|
||||
DOMAINS_WITH_MORE_INFO,
|
||||
EDITABLE_DOMAINS_WITH_ID,
|
||||
@@ -112,6 +113,8 @@ export class MoreInfoDialog extends LitElement {
|
||||
|
||||
@state() private _sensorNumericDeviceClasses?: string[] = [];
|
||||
|
||||
@query("ha-dialog") private _dialog?: HaDialog;
|
||||
|
||||
public showDialog(params: MoreInfoDialogParams) {
|
||||
this._entityId = params.entityId;
|
||||
if (!this._entityId) {
|
||||
@@ -271,6 +274,11 @@ export class MoreInfoDialog extends LitElement {
|
||||
this._infoEditMode = ev.detail;
|
||||
}
|
||||
|
||||
private _handleScrollToTopEvent(ev: Event): void {
|
||||
ev.stopPropagation();
|
||||
this._dialog!.scrollToPos(0, 0);
|
||||
}
|
||||
|
||||
private _goToRelated(ev): void {
|
||||
if (!shouldHandleRequestSelectedEvent(ev)) return;
|
||||
this._setView("related");
|
||||
@@ -521,6 +529,7 @@ export class MoreInfoDialog extends LitElement {
|
||||
@show-child-view=${this._showChildView}
|
||||
@entity-entry-updated=${this._entryUpdated}
|
||||
@toggle-edit-mode=${this._handleToggleInfoEditModeEvent}
|
||||
@more-info-update-clicked=${this._handleScrollToTopEvent}
|
||||
>
|
||||
${cache(
|
||||
this._childView
|
||||
|
||||
Reference in New Issue
Block a user