Remove a11y event dep, introduce forwardEvent helper
This commit is contained in:
+6
-2
@@ -238,6 +238,10 @@ export class InputHandler extends Disposable implements IInputHandler {
|
||||
public get onScroll(): IEvent<number> { return this._onScroll.event; }
|
||||
private _onTitleChange = new EventEmitter<string>();
|
||||
public get onTitleChange(): IEvent<string> { return this._onTitleChange.event; }
|
||||
private _onA11yChar = new EventEmitter<string>();
|
||||
public get onA11yChar(): IEvent<string> { return this._onA11yChar.event; }
|
||||
private _onA11yTab = new EventEmitter<number>();
|
||||
public get onA11yTab(): IEvent<number> { return this._onA11yTab.event; }
|
||||
|
||||
constructor(
|
||||
private _terminal: IInputHandlingTerminal,
|
||||
@@ -520,7 +524,7 @@ export class InputHandler extends Disposable implements IInputHandler {
|
||||
}
|
||||
|
||||
if (screenReaderMode) {
|
||||
this._terminal.onA11yCharEmitter.fire(stringFromCodePoint(code));
|
||||
this._onA11yChar.fire(stringFromCodePoint(code));
|
||||
}
|
||||
|
||||
// insert combining char at last cursor position
|
||||
@@ -738,7 +742,7 @@ export class InputHandler extends Disposable implements IInputHandler {
|
||||
const originalX = this._bufferService.buffer.x;
|
||||
this._bufferService.buffer.x = this._bufferService.buffer.nextStop();
|
||||
if (this._optionsService.options.screenReaderMode) {
|
||||
this._terminal.onA11yTabEmitter.fire(this._bufferService.buffer.x - originalX);
|
||||
this._onA11yTab.fire(this._bufferService.buffer.x - originalX);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-8
@@ -41,7 +41,7 @@ import { ITheme, IMarker, IDisposable, ISelectionPosition, ILinkProvider } from
|
||||
import { DomRenderer } from 'browser/renderer/dom/DomRenderer';
|
||||
import { IKeyboardEvent, KeyboardResultType, IBufferLine, IAttributeData, CoreMouseEventType, CoreMouseButton, CoreMouseAction, ITerminalOptions } from 'common/Types';
|
||||
import { evaluateKeyboardEvent } from 'common/input/Keyboard';
|
||||
import { EventEmitter, IEvent } from 'common/EventEmitter';
|
||||
import { EventEmitter, IEvent, forwardEvent } from 'common/EventEmitter';
|
||||
import { DEFAULT_ATTR_DATA } from 'common/buffer/BufferLine';
|
||||
import { ColorManager } from 'browser/ColorManager';
|
||||
import { RenderService } from 'browser/services/RenderService';
|
||||
@@ -133,10 +133,10 @@ export class Terminal extends CoreTerminal implements ITerminal, IInputHandlingT
|
||||
public get onFocus(): IEvent<void> { return this._onFocus.event; }
|
||||
private _onBlur = new EventEmitter<void>();
|
||||
public get onBlur(): IEvent<void> { return this._onBlur.event; }
|
||||
public onA11yCharEmitter = new EventEmitter<string>();
|
||||
public get onA11yChar(): IEvent<string> { return this.onA11yCharEmitter.event; }
|
||||
public onA11yTabEmitter = new EventEmitter<number>();
|
||||
public get onA11yTab(): IEvent<number> { return this.onA11yTabEmitter.event; }
|
||||
private _onA11yCharEmitter = new EventEmitter<string>();
|
||||
public get onA11yChar(): IEvent<string> { return this._onA11yCharEmitter.event; }
|
||||
private _onA11yTabEmitter = new EventEmitter<number>();
|
||||
public get onA11yTab(): IEvent<number> { return this._onA11yTabEmitter.event; }
|
||||
|
||||
/**
|
||||
* Creates a new `Terminal` object.
|
||||
@@ -180,9 +180,11 @@ export class Terminal extends CoreTerminal implements ITerminal, IInputHandlingT
|
||||
this._inputHandler.onRequestBell(() => this.bell());
|
||||
this._inputHandler.onRequestRefreshRows((start, end) => this.refresh(start, end));
|
||||
this._inputHandler.onRequestReset(() => this.reset());
|
||||
this._inputHandler.onCursorMove(() => this._onCursorMove.fire());
|
||||
this._inputHandler.onLineFeed(() => this._onLineFeed.fire());
|
||||
this._inputHandler.onTitleChange(title => this._onTitleChange.fire(title));
|
||||
forwardEvent(this._inputHandler.onCursorMove, this._onCursorMove);
|
||||
forwardEvent(this._inputHandler.onLineFeed, this._onLineFeed);
|
||||
forwardEvent(this._inputHandler.onTitleChange, this._onTitleChange);
|
||||
forwardEvent(this._inputHandler.onA11yChar, this._onA11yCharEmitter);
|
||||
forwardEvent(this._inputHandler.onA11yTab, this._onA11yTabEmitter);
|
||||
this.register(this._inputHandler);
|
||||
}
|
||||
|
||||
|
||||
Vendored
-3
@@ -23,9 +23,6 @@ export type LineData = CharData[];
|
||||
export interface IInputHandlingTerminal {
|
||||
viewport: IViewport;
|
||||
|
||||
onA11yCharEmitter: IEventEmitter<string>;
|
||||
onA11yTabEmitter: IEventEmitter<number>;
|
||||
|
||||
scroll(eraseAttr: IAttributeData, isWrapped?: boolean): void;
|
||||
is(term: string): boolean;
|
||||
resize(x: number, y: number): void;
|
||||
|
||||
@@ -63,3 +63,7 @@ export class EventEmitter<T, U = void> implements IEventEmitter<T, U> {
|
||||
this._disposed = true;
|
||||
}
|
||||
}
|
||||
|
||||
export function forwardEvent<T>(from: IEvent<T>, to: IEventEmitter<T>): void {
|
||||
from(e => to.fire(e));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user