Rename tooltip to hover/leave

This commit is contained in:
Daniel Imms
2020-02-07 09:55:06 -08:00
parent c327116e7f
commit b18ded0e2d
6 changed files with 38 additions and 38 deletions
@@ -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 {
+14 -14
View File
@@ -19,10 +19,10 @@ export class Linkifier2 implements ILinkifier2 {
private _linkCacheDisposables: IDisposable[] = [];
private _lastBufferCell: IBufferCellPosition | undefined;
private _onShowTooltip = new EventEmitter<ILinkifierEvent>();
public get onShowTooltip(): IEvent<ILinkifierEvent> { return this._onShowTooltip.event; }
private _onHideTooltip = new EventEmitter<ILinkifierEvent>();
public get onHideTooltip(): IEvent<ILinkifierEvent> { return this._onHideTooltip.event; }
private _onLinkHover = new EventEmitter<ILinkifierEvent>();
public get onLinkHover(): IEvent<ILinkifierEvent> { return this._onLinkHover.event; }
private _onLinkLeave = new EventEmitter<ILinkifierEvent>();
public get onLinkLeave(): IEvent<ILinkifierEvent> { 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);
}
}
+4 -4
View File
@@ -107,8 +107,8 @@ export interface ILinkifier {
}
export interface ILinkifier2 {
onShowTooltip: IEvent<ILinkifierEvent>;
onHideTooltip: IEvent<ILinkifierEvent>;
onLinkHover: IEvent<ILinkifierEvent>;
onLinkLeave: IEvent<ILinkifierEvent>;
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 {
+2 -2
View File
@@ -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 {
+2 -2
View File
@@ -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 {
+14 -14
View File
@@ -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;
}
/**