From b18ded0e2dba93c2122f429b75a52ce4c9363da0 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Fri, 7 Feb 2020 09:54:51 -0800 Subject: [PATCH] Rename tooltip to hover/leave --- .../src/renderLayer/LinkRenderLayer.ts | 4 +-- src/browser/Linkifier2.ts | 28 +++++++++---------- src/browser/Types.d.ts | 8 +++--- src/browser/renderer/LinkRenderLayer.ts | 4 +-- src/browser/renderer/dom/DomRenderer.ts | 4 +-- typings/xterm.d.ts | 28 +++++++++---------- 6 files changed, 38 insertions(+), 38 deletions(-) diff --git a/addons/xterm-addon-webgl/src/renderLayer/LinkRenderLayer.ts b/addons/xterm-addon-webgl/src/renderLayer/LinkRenderLayer.ts index 0f7e3a11..ebf773d3 100644 --- a/addons/xterm-addon-webgl/src/renderLayer/LinkRenderLayer.ts +++ b/addons/xterm-addon-webgl/src/renderLayer/LinkRenderLayer.ts @@ -19,8 +19,8 @@ export class LinkRenderLayer extends BaseRenderLayer { terminal.linkifier.onLinkHover(e => this._onLinkHover(e)); terminal.linkifier.onLinkLeave(e => this._onLinkLeave(e)); - terminal.linkifier2.onShowTooltip(e => this._onLinkHover(e)); - terminal.linkifier2.onHideTooltip(e => this._onLinkLeave(e)); + terminal.linkifier2.onLinkHover(e => this._onLinkHover(e)); + terminal.linkifier2.onLinkLeave(e => this._onLinkLeave(e)); } public resize(terminal: Terminal, dim: IRenderDimensions): void { diff --git a/src/browser/Linkifier2.ts b/src/browser/Linkifier2.ts index b6a7bf75..c9cb20e3 100644 --- a/src/browser/Linkifier2.ts +++ b/src/browser/Linkifier2.ts @@ -19,10 +19,10 @@ export class Linkifier2 implements ILinkifier2 { private _linkCacheDisposables: IDisposable[] = []; private _lastBufferCell: IBufferCellPosition | undefined; - private _onShowTooltip = new EventEmitter(); - public get onShowTooltip(): IEvent { return this._onShowTooltip.event; } - private _onHideTooltip = new EventEmitter(); - public get onHideTooltip(): IEvent { return this._onHideTooltip.event; } + private _onLinkHover = new EventEmitter(); + public get onLinkHover(): IEvent { return this._onLinkHover.event; } + private _onLinkLeave = new EventEmitter(); + public get onLinkLeave(): IEvent { return this._onLinkLeave.event; } constructor( private readonly _bufferService: IBufferService @@ -147,7 +147,7 @@ export class Linkifier2 implements ILinkifier2 { // If we have a start and end row, check that the link is within it if (!startRow || !endRow || (this._currentLink.range.start.y >= startRow && this._currentLink.range.end.y <= endRow)) { - this._hideTooltip(this._element, this._currentLink, this._lastMouseEvent); + this._linkLeave(this._element, this._currentLink, this._lastMouseEvent); this._currentLink = undefined; this._linkCacheDisposables.forEach(l => l.dispose()); this._linkCacheDisposables = []; @@ -168,7 +168,7 @@ export class Linkifier2 implements ILinkifier2 { // Show the tooltip if the we have a link at the position if (this._linkAtPosition(link, position)) { this._currentLink = link; - this._showTooltip(this._element, link, this._lastMouseEvent); + this._linkHover(this._element, link, this._lastMouseEvent); // Add listener for rerendering if (this._renderService) { @@ -179,27 +179,27 @@ export class Linkifier2 implements ILinkifier2 { } } - private _showTooltip(element: HTMLElement, link: ILink, event: MouseEvent): void { + private _linkHover(element: HTMLElement, link: ILink, event: MouseEvent): void { const range = link.range; const scrollOffset = this._bufferService.buffer.ydisp; - this._onShowTooltip.fire(this._createLinkHoverEvent(range.start.x - 1, range.start.y - scrollOffset - 1, range.end.x - 1, range.end.y - scrollOffset - 1, undefined)); + this._onLinkHover.fire(this._createLinkHoverEvent(range.start.x - 1, range.start.y - scrollOffset - 1, range.end.x - 1, range.end.y - scrollOffset - 1, undefined)); element.classList.add('xterm-cursor-pointer'); - if (link.showTooltip) { - link.showTooltip(event, link.text); + if (link.hover) { + link.hover(event, link.text); } } - private _hideTooltip(element: HTMLElement, link: ILink, event: MouseEvent): void { + private _linkLeave(element: HTMLElement, link: ILink, event: MouseEvent): void { const range = link.range; const scrollOffset = this._bufferService.buffer.ydisp; - this._onHideTooltip.fire(this._createLinkHoverEvent(range.start.x - 1, range.start.y - scrollOffset - 1, range.end.x - 1, range.end.y - scrollOffset - 1, undefined)); + this._onLinkLeave.fire(this._createLinkHoverEvent(range.start.x - 1, range.start.y - scrollOffset - 1, range.end.x - 1, range.end.y - scrollOffset - 1, undefined)); element.classList.remove('xterm-cursor-pointer'); - if (link.hideTooltip) { - link.hideTooltip(event, link.text); + if (link.leave) { + link.leave(event, link.text); } } diff --git a/src/browser/Types.d.ts b/src/browser/Types.d.ts index 77ef50a3..12676b80 100644 --- a/src/browser/Types.d.ts +++ b/src/browser/Types.d.ts @@ -107,8 +107,8 @@ export interface ILinkifier { } export interface ILinkifier2 { - onShowTooltip: IEvent; - onHideTooltip: IEvent; + onLinkHover: IEvent; + onLinkLeave: IEvent; attachToDom(element: HTMLElement, mouseService: IMouseService, renderService: IRenderService): void; registerLinkProvider(linkProvider: ILinkProvider): IDisposable; @@ -172,9 +172,9 @@ interface ILinkProvider { interface ILink { range: IBufferRange; text: string; - showTooltip?(event: MouseEvent, text: string): void; - hideTooltip?(event: MouseEvent, text: string): void; handle(event: MouseEvent, text: string): void; + hover?(event: MouseEvent, text: string): void; + leave?(event: MouseEvent, text: string): void; } interface IBufferRange { diff --git a/src/browser/renderer/LinkRenderLayer.ts b/src/browser/renderer/LinkRenderLayer.ts index c7e2b140..73e9f85f 100644 --- a/src/browser/renderer/LinkRenderLayer.ts +++ b/src/browser/renderer/LinkRenderLayer.ts @@ -27,8 +27,8 @@ export class LinkRenderLayer extends BaseRenderLayer { linkifier.onLinkHover(e => this._onLinkHover(e)); linkifier.onLinkLeave(e => this._onLinkLeave(e)); - linkifier2.onShowTooltip(e => this._onLinkHover(e)); - linkifier2.onHideTooltip(e => this._onLinkLeave(e)); + linkifier2.onLinkHover(e => this._onLinkHover(e)); + linkifier2.onLinkLeave(e => this._onLinkLeave(e)); } public resize(dim: IRenderDimensions): void { diff --git a/src/browser/renderer/dom/DomRenderer.ts b/src/browser/renderer/dom/DomRenderer.ts index fb7abc55..3edbd97f 100644 --- a/src/browser/renderer/dom/DomRenderer.ts +++ b/src/browser/renderer/dom/DomRenderer.ts @@ -90,8 +90,8 @@ export class DomRenderer extends Disposable implements IRenderer { this._linkifier.onLinkHover(e => this._onLinkHover(e)); this._linkifier.onLinkLeave(e => this._onLinkLeave(e)); - this._linkifier2.onShowTooltip(e => this._onLinkHover(e)); - this._linkifier2.onHideTooltip(e => this._onLinkLeave(e)); + this._linkifier2.onLinkHover(e => this._onLinkHover(e)); + this._linkifier2.onLinkLeave(e => this._onLinkLeave(e)); } public dispose(): void { diff --git a/typings/xterm.d.ts b/typings/xterm.d.ts index cf5c311d..fac30fd6 100644 --- a/typings/xterm.d.ts +++ b/typings/xterm.d.ts @@ -1108,26 +1108,26 @@ declare module 'xterm' { */ text: string; - /** - * Called when the link's tooltip is ready to show. - * @param event The mouse event triggering the callback. - * @param text The text of the link. - */ - showTooltip?(event: MouseEvent, teext: string): void; - - /** - * Called when the link's tooltip is ready to hide. - * @param event The mouse event triggering the callback. - * @param text The text of the link. - */ - hideTooltip?(event: MouseEvent, text: string): void; - /** * Calls when the link is activated. * @param event The mouse event triggering the callback. * @param text The text of the link. */ handle(event: MouseEvent, text: string): void; + + /** + * Called when the mouse hovers the link. + * @param event The mouse event triggering the callback. + * @param text The text of the link. + */ + hover?(event: MouseEvent, text: string): void; + + /** + * Called when the mouse leaves the link. + * @param event The mouse event triggering the callback. + * @param text The text of the link. + */ + leave?(event: MouseEvent, text: string): void; } /**