mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Rename tooltip to hover/leave
This commit is contained in:
@@ -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
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+4
-4
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Vendored
+14
-14
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user