mirror of
https://github.com/desktop/desktop
synced 2024-09-19 08:02:22 +00:00
Hide tooltip on escape and stop escape from further action
This commit is contained in:
parent
f1cc0929f4
commit
54a4ebbf13
|
@ -377,6 +377,13 @@ export class Tooltip<T extends TooltipTarget> extends React.Component<
|
|||
}
|
||||
}
|
||||
|
||||
private onKeyDown = (event: KeyboardEvent) => {
|
||||
if (event.key === 'Escape' && this.state.show) {
|
||||
event.preventDefault()
|
||||
this.beginHideTooltip()
|
||||
}
|
||||
}
|
||||
|
||||
private installTooltip(elem: TooltipTarget) {
|
||||
elem.addEventListener('mouseenter', this.onTargetMouseEnter)
|
||||
elem.addEventListener('mouseleave', this.onTargetMouseLeave)
|
||||
|
@ -389,6 +396,7 @@ export class Tooltip<T extends TooltipTarget> extends React.Component<
|
|||
elem.addEventListener('tooltip-shown', this.onTooltipShown)
|
||||
elem.addEventListener('tooltip-hidden', this.onTooltipHidden)
|
||||
elem.addEventListener('click', this.onTargetClick)
|
||||
elem.addEventListener('keydown', this.onKeyDown)
|
||||
}
|
||||
|
||||
private removeTooltip(prevTarget: TooltipTarget | null) {
|
||||
|
@ -405,6 +413,7 @@ export class Tooltip<T extends TooltipTarget> extends React.Component<
|
|||
prevTarget.removeEventListener('focusout', this.onTargetBlur)
|
||||
prevTarget.removeEventListener('blur', this.onTargetBlur)
|
||||
prevTarget.removeEventListener('click', this.onTargetClick)
|
||||
prevTarget.removeEventListener('keydown', this.onKeyDown)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue