mirror of
https://github.com/home-assistant/frontend.git
synced 2025-12-20 10:48:44 +00:00
Fix hide sidebar tooltip on touchend events (#28042)
* fix: hide sidebar tooltip on touchend events * Add a comment recommended by Copilot * Clear timeouts id in disconnectedCallback
This commit is contained in:
committed by
Bram Kragten
parent
ac56c6df9a
commit
690fd5a061
@@ -197,6 +197,8 @@ class HaSidebar extends SubscribeMixin(LitElement) {
|
|||||||
|
|
||||||
private _mouseLeaveTimeout?: number;
|
private _mouseLeaveTimeout?: number;
|
||||||
|
|
||||||
|
private _touchendTimeout?: number;
|
||||||
|
|
||||||
private _tooltipHideTimeout?: number;
|
private _tooltipHideTimeout?: number;
|
||||||
|
|
||||||
private _recentKeydownActiveUntil = 0;
|
private _recentKeydownActiveUntil = 0;
|
||||||
@@ -237,6 +239,18 @@ class HaSidebar extends SubscribeMixin(LitElement) {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public disconnectedCallback() {
|
||||||
|
super.disconnectedCallback();
|
||||||
|
// clear timeouts
|
||||||
|
clearTimeout(this._mouseLeaveTimeout);
|
||||||
|
clearTimeout(this._tooltipHideTimeout);
|
||||||
|
clearTimeout(this._touchendTimeout);
|
||||||
|
// set undefined values
|
||||||
|
this._mouseLeaveTimeout = undefined;
|
||||||
|
this._tooltipHideTimeout = undefined;
|
||||||
|
this._touchendTimeout = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
protected render() {
|
protected render() {
|
||||||
if (!this.hass) {
|
if (!this.hass) {
|
||||||
return nothing;
|
return nothing;
|
||||||
@@ -406,6 +420,7 @@ class HaSidebar extends SubscribeMixin(LitElement) {
|
|||||||
class="ha-scrollbar"
|
class="ha-scrollbar"
|
||||||
@focusin=${this._listboxFocusIn}
|
@focusin=${this._listboxFocusIn}
|
||||||
@focusout=${this._listboxFocusOut}
|
@focusout=${this._listboxFocusOut}
|
||||||
|
@touchend=${this._listboxTouchend}
|
||||||
@scroll=${this._listboxScroll}
|
@scroll=${this._listboxScroll}
|
||||||
@keydown=${this._listboxKeydown}
|
@keydown=${this._listboxKeydown}
|
||||||
>
|
>
|
||||||
@@ -620,6 +635,14 @@ class HaSidebar extends SubscribeMixin(LitElement) {
|
|||||||
this._hideTooltip();
|
this._hideTooltip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _listboxTouchend() {
|
||||||
|
clearTimeout(this._touchendTimeout);
|
||||||
|
this._touchendTimeout = window.setTimeout(() => {
|
||||||
|
// Allow 1 second for users to read the tooltip on touch devices
|
||||||
|
this._hideTooltip();
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
@eventOptions({
|
@eventOptions({
|
||||||
passive: true,
|
passive: true,
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user