diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index 97aca920558..96315e0adcd 100644 --- a/src/vs/base/browser/dom.ts +++ b/src/vs/base/browser/dom.ts @@ -9,7 +9,7 @@ import { IKeyboardEvent, StandardKeyboardEvent } from 'vs/base/browser/keyboardE import { IMouseEvent, StandardMouseEvent } from 'vs/base/browser/mouseEvent'; import { TimeoutTimer } from 'vs/base/common/async'; import { onUnexpectedError } from 'vs/base/common/errors'; -import { Emitter, Event } from 'vs/base/common/event'; +import * as event from 'vs/base/common/event'; import * as dompurify from 'vs/base/browser/dompurify/dompurify'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Disposable, DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle'; @@ -149,7 +149,7 @@ export function addDisposableNonBubblingPointerOutListener(node: Element, handle }); } -export function createEventEmitter(target: HTMLElement, type: K, options?: boolean | AddEventListenerOptions): Emitter { +export function createEventEmitter(target: HTMLElement, type: K, options?: boolean | AddEventListenerOptions): event.Emitter { let domListener: DomListener | null = null; const handler = (e: HTMLElementEventMap[K]) => result.fire(e); const onFirstListenerAdd = () => { @@ -163,7 +163,7 @@ export function createEventEmitter(target: domListener = null; } }; - const result = new Emitter({ onFirstListenerAdd, onLastListenerRemove }); + const result = new event.Emitter({ onFirstListenerAdd, onLastListenerRemove }); return result; } @@ -308,17 +308,12 @@ export interface IEventMerger { (lastEvent: R | null, currentEvent: E): R; } -export interface DOMEvent { - preventDefault(): void; - stopPropagation(): void; -} - const MINIMUM_TIME_MS = 8; -const DEFAULT_EVENT_MERGER: IEventMerger = function (lastEvent: DOMEvent | null, currentEvent: DOMEvent) { +const DEFAULT_EVENT_MERGER: IEventMerger = function (lastEvent: Event | null, currentEvent: Event) { return currentEvent; }; -class TimeoutThrottledDomListener extends Disposable { +class TimeoutThrottledDomListener extends Disposable { constructor(node: any, type: string, handler: (event: R) => void, eventMerger: IEventMerger = DEFAULT_EVENT_MERGER, minimumTimeMs: number = MINIMUM_TIME_MS) { super(); @@ -348,7 +343,7 @@ class TimeoutThrottledDomListener extends Disposable { } } -export function addDisposableThrottledListener(node: any, type: string, handler: (event: R) => void, eventMerger?: IEventMerger, minimumTimeMs?: number): IDisposable { +export function addDisposableThrottledListener(node: any, type: string, handler: (event: R) => void, eventMerger?: IEventMerger, minimumTimeMs?: number): IDisposable { return new TimeoutThrottledDomListener(node, type, handler, eventMerger, minimumTimeMs); } @@ -924,8 +919,8 @@ export const EventHelper = { }; export interface IFocusTracker extends Disposable { - onDidFocus: Event; - onDidBlur: Event; + onDidFocus: event.Event; + onDidBlur: event.Event; refreshState(): void; } @@ -949,11 +944,11 @@ export function restoreParentsScrollTop(node: Element, state: number[]): void { class FocusTracker extends Disposable implements IFocusTracker { - private readonly _onDidFocus = this._register(new Emitter()); - public readonly onDidFocus: Event = this._onDidFocus.event; + private readonly _onDidFocus = this._register(new event.Emitter()); + public readonly onDidFocus: event.Event = this._onDidFocus.event; - private readonly _onDidBlur = this._register(new Emitter()); - public readonly onDidBlur: Event = this._onDidBlur.event; + private readonly _onDidBlur = this._register(new event.Emitter()); + public readonly onDidBlur: event.Event = this._onDidBlur.event; private _refreshStateHandler: () => void; @@ -1173,7 +1168,7 @@ export function getElementsByTagName(tag: string): HTMLElement[] { return Array.prototype.slice.call(document.getElementsByTagName(tag), 0); } -export function finalHandler(fn: (event: T) => any): (event: T) => any { +export function finalHandler(fn: (event: T) => any): (event: T) => any { return e => { e.preventDefault(); e.stopPropagation(); @@ -1343,7 +1338,7 @@ export function triggerUpload(): Promise { input.multiple = true; // Resolve once the input event has fired once - Event.once(Event.fromDOMEventEmitter(input, 'input'))(() => { + event.Event.once(event.Event.fromDOMEventEmitter(input, 'input'))(() => { resolve(withNullAsUndefined(input.files)); }); @@ -1510,7 +1505,7 @@ export interface IModifierKeyStatus { event?: KeyboardEvent; } -export class ModifierKeyEmitter extends Emitter { +export class ModifierKeyEmitter extends event.Emitter { private readonly _subscriptions = new DisposableStore(); private _keyStatus: IModifierKeyStatus; diff --git a/src/vs/base/browser/ui/dropdown/dropdown.ts b/src/vs/base/browser/ui/dropdown/dropdown.ts index d6d21c6fade..b45468dd137 100644 --- a/src/vs/base/browser/ui/dropdown/dropdown.ts +++ b/src/vs/base/browser/ui/dropdown/dropdown.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { IContextMenuProvider } from 'vs/base/browser/contextmenu'; -import { $, addDisposableListener, append, DOMEvent, EventHelper, EventType } from 'vs/base/browser/dom'; +import { $, addDisposableListener, append, EventHelper, EventType } from 'vs/base/browser/dom'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { EventType as GestureEventType, Gesture } from 'vs/base/browser/touch'; import { AnchorAlignment, IAnchor, IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview'; @@ -121,7 +121,7 @@ export class BaseDropdown extends ActionRunner { return !!this.visible; } - protected onEvent(e: DOMEvent, activeElement: HTMLElement): void { + protected onEvent(_e: Event, activeElement: HTMLElement): void { this.hide(); }