|
@@ -114,8 +114,20 @@ class TooltipWidget extends Widget {
|
|
}
|
|
}
|
|
switch (event.type) {
|
|
switch (event.type) {
|
|
case 'keydown':
|
|
case 'keydown':
|
|
|
|
+ if (this.node.contains(event.target as HTMLElement)) {
|
|
|
|
+ if ((event as KeyboardEvent).keyCode === 27) { // Escape key
|
|
|
|
+ this.dispose();
|
|
|
|
+ }
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.dispose();
|
|
|
|
+ break;
|
|
case 'mousedown':
|
|
case 'mousedown':
|
|
- this._dismiss(event);
|
|
|
|
|
|
+ if (this.node.contains(event.target as HTMLElement)) {
|
|
|
|
+ this.activate();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.dispose();
|
|
break;
|
|
break;
|
|
case 'scroll':
|
|
case 'scroll':
|
|
this._evtScroll(event as MouseEvent);
|
|
this._evtScroll(event as MouseEvent);
|
|
@@ -160,16 +172,6 @@ class TooltipWidget extends Widget {
|
|
super.onUpdateRequest(msg);
|
|
super.onUpdateRequest(msg);
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * Dismiss the tooltip if necessary.
|
|
|
|
- */
|
|
|
|
- private _dismiss(event: Event): void {
|
|
|
|
- if (this.node.contains(event.target as HTMLElement)) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- this.dispose();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Handle scroll events for the widget
|
|
* Handle scroll events for the widget
|
|
*/
|
|
*/
|