提交 0f42828c 编写于 作者: B Benjamin Pasero

types - reduce type duplication

上级 d9de4afd
......@@ -6,7 +6,7 @@
import BaseSeverity from 'vs/base/common/severity';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
import { IAction } from 'vs/base/common/actions';
import { Event, Emitter } from 'vs/base/common/event';
import { Event } from 'vs/base/common/event';
import { IDisposable } from 'vs/base/common/lifecycle';
export import Severity = BaseSeverity;
......@@ -318,16 +318,14 @@ export class NoOpNotification implements INotificationHandle {
readonly progress = new NoOpProgress();
private readonly _onDidClose: Emitter<void> = new Emitter();
readonly onDidClose: Event<void> = this._onDidClose.event;
readonly onDidClose = Event.None;
readonly onDidChangeVisibility = Event.None;
updateSeverity(severity: Severity): void { }
updateMessage(message: NotificationMessage): void { }
updateActions(actions?: INotificationActions): void { }
close(): void {
this._onDidClose.dispose();
}
close(): void { }
}
export class NoOpProgress implements INotificationProgress {
......
......@@ -239,7 +239,7 @@ enum Redraw {
class ResourceLabelWidget extends IconLabel {
private _onDidRender = this._register(new Emitter<void>());
readonly onDidRender: Event<void> = this._onDidRender.event;
readonly onDidRender = this._onDidRender.event;
private readonly renderDisposables = this._register(new DisposableStore());
......
......@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { Disposable, DisposableStore } from 'vs/base/common/lifecycle';
import { Event, Emitter } from 'vs/base/common/event';
import { Emitter } from 'vs/base/common/event';
import { EventType, addDisposableListener, addClass, removeClass, isAncestor, getClientArea, Dimension, toggleClass, position, size } from 'vs/base/browser/dom';
import { onDidChangeFullscreen, isFullscreen } from 'vs/base/browser/browser';
import { IBackupFileService } from 'vs/workbench/services/backup/common/backup';
......@@ -87,26 +87,26 @@ export abstract class Layout extends Disposable implements IWorkbenchLayoutServi
//#region Events
private readonly _onZenModeChange: Emitter<boolean> = this._register(new Emitter<boolean>());
readonly onZenModeChange: Event<boolean> = this._onZenModeChange.event;
private readonly _onZenModeChange = this._register(new Emitter<boolean>());
readonly onZenModeChange = this._onZenModeChange.event;
private readonly _onFullscreenChange: Emitter<boolean> = this._register(new Emitter<boolean>());
readonly onFullscreenChange: Event<boolean> = this._onFullscreenChange.event;
private readonly _onFullscreenChange = this._register(new Emitter<boolean>());
readonly onFullscreenChange = this._onFullscreenChange.event;
private readonly _onCenteredLayoutChange: Emitter<boolean> = this._register(new Emitter<boolean>());
readonly onCenteredLayoutChange: Event<boolean> = this._onCenteredLayoutChange.event;
private readonly _onCenteredLayoutChange = this._register(new Emitter<boolean>());
readonly onCenteredLayoutChange = this._onCenteredLayoutChange.event;
private readonly _onMaximizeChange: Emitter<boolean> = this._register(new Emitter<boolean>());
readonly onMaximizeChange: Event<boolean> = this._onMaximizeChange.event;
private readonly _onMaximizeChange = this._register(new Emitter<boolean>());
readonly onMaximizeChange = this._onMaximizeChange.event;
private readonly _onPanelPositionChange: Emitter<string> = this._register(new Emitter<string>());
readonly onPanelPositionChange: Event<string> = this._onPanelPositionChange.event;
private readonly _onPanelPositionChange = this._register(new Emitter<string>());
readonly onPanelPositionChange = this._onPanelPositionChange.event;
private readonly _onPartVisibilityChange: Emitter<void> = this._register(new Emitter<void>());
readonly onPartVisibilityChange: Event<void> = this._onPartVisibilityChange.event;
private readonly _onPartVisibilityChange = this._register(new Emitter<void>());
readonly onPartVisibilityChange = this._onPartVisibilityChange.event;
private readonly _onLayout = this._register(new Emitter<IDimension>());
readonly onLayout: Event<IDimension> = this._onLayout.event;
readonly onLayout = this._onLayout.event;
//#endregion
......
......@@ -34,7 +34,7 @@ export abstract class Part extends Component implements ISerializableView {
get dimension(): Dimension | undefined { return this._dimension; }
protected _onDidVisibilityChange = this._register(new Emitter<boolean>());
readonly onDidVisibilityChange: Event<boolean> = this._onDidVisibilityChange.event;
readonly onDidVisibilityChange = this._onDidVisibilityChange.event;
private parent: HTMLElement | undefined;
private titleArea: HTMLElement | undefined;
......
......@@ -19,7 +19,7 @@ import { Widget } from 'vs/base/browser/ui/widget';
import { isUndefinedOrNull } from 'vs/base/common/types';
import { LocalSelectionTransfer } from 'vs/workbench/browser/dnd';
import { ITheme } from 'vs/platform/theme/common/themeService';
import { Emitter, Event } from 'vs/base/common/event';
import { Emitter } from 'vs/base/common/event';
export interface ICompositeBarItem {
id: string;
......@@ -61,7 +61,7 @@ export class CompositeBar extends Widget implements ICompositeBar {
private compositeTransfer: LocalSelectionTransfer<DraggedCompositeIdentifier>;
private readonly _onDidChange: Emitter<void> = this._register(new Emitter<void>());
readonly onDidChange: Event<void> = this._onDidChange.event;
readonly onDidChange = this._onDidChange.event;
constructor(
items: ICompositeBarItem[],
......
......@@ -39,7 +39,7 @@ export abstract class BaseEditor extends Panel implements IEditor {
readonly minimumHeight = DEFAULT_EDITOR_MIN_DIMENSIONS.height;
readonly maximumHeight = DEFAULT_EDITOR_MAX_DIMENSIONS.height;
readonly onDidSizeConstraintsChange: Event<{ width: number; height: number; } | undefined> = Event.None;
readonly onDidSizeConstraintsChange = Event.None;
protected _input: EditorInput | undefined;
protected _options: EditorOptions | undefined;
......
......@@ -1580,7 +1580,7 @@ export class EditorGroupView extends Themable implements IEditorGroupView {
get maximumHeight(): number { return this.editorControl.maximumHeight; }
private _onDidChange = this._register(new Relay<{ width: number; height: number; } | undefined>());
readonly onDidChange: Event<{ width: number; height: number; } | undefined> = this._onDidChange.event;
readonly onDidChange = this._onDidChange.event;
layout(width: number, height: number): void {
this.dimension = new Dimension(width, height);
......
......@@ -76,7 +76,7 @@ export class PanelPart extends CompositePart<Panel> implements IPanelService {
//#endregion
get onDidPanelOpen(): Event<{ panel: IPanel, focus: boolean; }> { return Event.map(this.onDidCompositeOpen.event, compositeOpen => ({ panel: compositeOpen.composite, focus: compositeOpen.focus })); }
readonly onDidPanelClose: Event<IPanel> = this.onDidCompositeClose.event;
readonly onDidPanelClose = this.onDidCompositeClose.event;
private activePanelContextKey: IContextKey<string>;
private panelFocusContextKey: IContextKey<boolean>;
......
......@@ -68,7 +68,7 @@ export abstract class Viewlet extends PaneComposite implements IViewlet {
*/
export class ViewletDescriptor extends CompositeDescriptor<Viewlet> {
public static create<Services extends BrandedService[]>(
static create<Services extends BrandedService[]>(
ctor: { new(...services: Services): Viewlet },
id: string,
name: string,
......
......@@ -6,7 +6,7 @@
import 'vs/workbench/browser/style';
import { localize } from 'vs/nls';
import { Event, Emitter, setGlobalLeakWarningThreshold } from 'vs/base/common/event';
import { Emitter, setGlobalLeakWarningThreshold } from 'vs/base/common/event';
import { addClasses, addClass, removeClasses } from 'vs/base/browser/dom';
import { runWhenIdle } from 'vs/base/common/async';
import { getZoomLevel, isFirefox, isSafari, isChrome } from 'vs/base/browser/browser';
......@@ -50,13 +50,13 @@ import { Extensions as PanelExtensions, PanelRegistry } from 'vs/workbench/brows
export class Workbench extends Layout {
private readonly _onBeforeShutdown = this._register(new Emitter<BeforeShutdownEvent>());
readonly onBeforeShutdown: Event<BeforeShutdownEvent> = this._onBeforeShutdown.event;
readonly onBeforeShutdown = this._onBeforeShutdown.event;
private readonly _onWillShutdown = this._register(new Emitter<WillShutdownEvent>());
readonly onWillShutdown: Event<WillShutdownEvent> = this._onWillShutdown.event;
readonly onWillShutdown = this._onWillShutdown.event;
private readonly _onShutdown = this._register(new Emitter<void>());
readonly onShutdown: Event<void> = this._onShutdown.event;
readonly onShutdown = this._onShutdown.event;
constructor(
parent: HTMLElement,
......
......@@ -16,9 +16,7 @@ import { find, equals } from 'vs/base/common/arrays';
export interface INotificationsModel {
//
// Notifications as Toasts/Center
//
//#region Notifications as Toasts/Center
readonly notifications: INotificationViewItem[];
......@@ -29,15 +27,18 @@ export interface INotificationsModel {
setFilter(filter: NotificationsFilter): void;
//
// Notifications as Status
//
//#endregion
//#region Notifications as Status
readonly statusMessage: IStatusMessageViewItem | undefined;
readonly onDidStatusMessageChange: Event<IStatusMessageChangeEvent>;
showStatusMessage(message: NotificationMessage, options?: IStatusMessageOptions): IDisposable;
//#endregion
}
export const enum NotificationChangeType {
......@@ -130,13 +131,13 @@ export class NotificationsModel extends Disposable implements INotificationsMode
private static readonly NO_OP_NOTIFICATION = new NoOpNotification();
private readonly _onDidNotificationChange = this._register(new Emitter<INotificationChangeEvent>());
readonly onDidNotificationChange: Event<INotificationChangeEvent> = this._onDidNotificationChange.event;
readonly onDidNotificationChange = this._onDidNotificationChange.event;
private readonly _onDidStatusMessageChange = this._register(new Emitter<IStatusMessageChangeEvent>());
readonly onDidStatusMessageChange: Event<IStatusMessageChangeEvent> = this._onDidStatusMessageChange.event;
readonly onDidStatusMessageChange = this._onDidStatusMessageChange.event;
private readonly _onDidFilterChange = this._register(new Emitter<NotificationsFilter>());
readonly onDidFilterChange: Event<NotificationsFilter> = this._onDidFilterChange.event;
readonly onDidFilterChange = this._onDidFilterChange.event;
private readonly _notifications: INotificationViewItem[] = [];
get notifications(): INotificationViewItem[] { return this._notifications; }
......@@ -171,10 +172,10 @@ export class NotificationsModel extends Disposable implements INotificationsMode
this._onDidNotificationChange.fire({ item, index: 0, kind: NotificationChangeType.ADD });
// Wrap into handle
return new NotificationHandle(item, item => this.closeItem(item));
return new NotificationHandle(item, item => this.onClose(item));
}
private closeItem(item: INotificationViewItem): void {
private onClose(item: INotificationViewItem): void {
const liveItem = this.findNotification(item);
if (liveItem && liveItem !== item) {
liveItem.close(); // item could have been replaced with another one, make sure to close the live item
......@@ -309,8 +310,8 @@ export interface INotificationViewItemProgress extends INotificationProgress {
export class NotificationViewItemProgress extends Disposable implements INotificationViewItemProgress {
private readonly _state: INotificationViewItemProgressState;
private readonly _onDidChange: Emitter<void> = this._register(new Emitter<void>());
readonly onDidChange: Event<void> = this._onDidChange.event;
private readonly _onDidChange = this._register(new Emitter<void>());
readonly onDidChange = this._onDidChange.event;
constructor() {
super();
......@@ -405,14 +406,14 @@ export class NotificationViewItem extends Disposable implements INotificationVie
private _actions: INotificationActions | undefined;
private _progress: NotificationViewItemProgress | undefined;
private readonly _onDidExpansionChange: Emitter<void> = this._register(new Emitter<void>());
readonly onDidExpansionChange: Event<void> = this._onDidExpansionChange.event;
private readonly _onDidExpansionChange = this._register(new Emitter<void>());
readonly onDidExpansionChange = this._onDidExpansionChange.event;
private readonly _onDidClose: Emitter<void> = this._register(new Emitter<void>());
readonly onDidClose: Event<void> = this._onDidClose.event;
private readonly _onDidClose = this._register(new Emitter<void>());
readonly onDidClose = this._onDidClose.event;
private readonly _onDidLabelChange: Emitter<INotificationViewItemLabelChangeEvent> = this._register(new Emitter<INotificationViewItemLabelChangeEvent>());
readonly onDidLabelChange: Event<INotificationViewItemLabelChangeEvent> = this._onDidLabelChange.event;
private readonly _onDidLabelChange = this._register(new Emitter<INotificationViewItemLabelChangeEvent>());
readonly onDidLabelChange = this._onDidLabelChange.event;
static create(notification: INotification, filter: NotificationsFilter = NotificationsFilter.OFF): INotificationViewItem | undefined {
if (!notification || !notification.message || isPromiseCanceledError(notification.message)) {
......@@ -656,8 +657,8 @@ export class NotificationViewItem extends Disposable implements INotificationVie
export class ChoiceAction extends Action {
private readonly _onDidRun = new Emitter<void>();
readonly onDidRun: Event<void> = this._onDidRun.event;
private readonly _onDidRun = this._register(new Emitter<void>());
readonly onDidRun = this._onDidRun.event;
private readonly _keepOpen: boolean;
......@@ -679,12 +680,6 @@ export class ChoiceAction extends Action {
get keepOpen(): boolean {
return this._keepOpen;
}
dispose(): void {
super.dispose();
this._onDidRun.dispose();
}
}
class StatusMessageViewItem {
......
......@@ -5,7 +5,7 @@
import { URI } from 'vs/base/common/uri';
import * as objects from 'vs/base/common/objects';
import { Event, Emitter } from 'vs/base/common/event';
import { Emitter } from 'vs/base/common/event';
import { basename, extname, relativePath } from 'vs/base/common/resources';
import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
import { IModeService } from 'vs/editor/common/services/modeService';
......@@ -106,8 +106,8 @@ export class ResourceGlobMatcher extends Disposable {
private static readonly NO_ROOT: string | null = null;
private readonly _onExpressionChange: Emitter<void> = this._register(new Emitter<void>());
readonly onExpressionChange: Event<void> = this._onExpressionChange.event;
private readonly _onExpressionChange = this._register(new Emitter<void>());
readonly onExpressionChange = this._onExpressionChange.event;
private readonly mapRootToParsedExpression: Map<string | null, ParsedExpression> = new Map<string, ParsedExpression>();
private readonly mapRootToExpressionConfig: Map<string | null, IExpression> = new Map<string, IExpression>();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册