mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-09 17:52:34 -05:00
Merge VS Code 1.21 source code (#1067)
* Initial VS Code 1.21 file copy with patches * A few more merges * Post npm install * Fix batch of build breaks * Fix more build breaks * Fix more build errors * Fix more build breaks * Runtime fixes 1 * Get connection dialog working with some todos * Fix a few packaging issues * Copy several node_modules to package build to fix loader issues * Fix breaks from master * A few more fixes * Make tests pass * First pass of license header updates * Second pass of license header updates * Fix restore dialog issues * Remove add additional themes menu items * fix select box issues where the list doesn't show up * formatting * Fix editor dispose issue * Copy over node modules to correct location on all platforms
This commit is contained in:
@@ -11,16 +11,16 @@ import { combinedDisposable, IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
|
||||
import { IActionRunner, ActionRunner, IAction, IRunEvent } from 'vs/base/common/actions';
|
||||
import { Menu } from 'vs/base/browser/ui/menu/menu';
|
||||
import Severity from 'vs/base/common/severity';
|
||||
|
||||
import { IContextViewService, IContextMenuDelegate } from 'vs/platform/contextview/browser/contextView';
|
||||
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { IMessageService } from 'vs/platform/message/common/message';
|
||||
import { INotificationService } from 'vs/platform/notification/common/notification';
|
||||
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
|
||||
|
||||
export class ContextMenuHandler {
|
||||
|
||||
private contextViewService: IContextViewService;
|
||||
private messageService: IMessageService;
|
||||
private notificationService: INotificationService;
|
||||
private telemetryService: ITelemetryService;
|
||||
|
||||
private actionRunner: IActionRunner;
|
||||
@@ -28,12 +28,12 @@ export class ContextMenuHandler {
|
||||
private menuContainerElement: HTMLElement;
|
||||
private toDispose: IDisposable[];
|
||||
|
||||
constructor(element: HTMLElement, contextViewService: IContextViewService, telemetryService: ITelemetryService, messageService: IMessageService) {
|
||||
constructor(element: HTMLElement, contextViewService: IContextViewService, telemetryService: ITelemetryService, notificationService: INotificationService) {
|
||||
this.setContainer(element);
|
||||
|
||||
this.contextViewService = contextViewService;
|
||||
this.telemetryService = telemetryService;
|
||||
this.messageService = messageService;
|
||||
this.notificationService = notificationService;
|
||||
|
||||
this.actionRunner = new ActionRunner();
|
||||
this.menuContainerElement = null;
|
||||
@@ -66,8 +66,8 @@ export class ContextMenuHandler {
|
||||
|
||||
hideViewOnRun = false;
|
||||
|
||||
if (e.error && this.messageService) {
|
||||
this.messageService.show(Severity.Error, e.error);
|
||||
if (e.error && this.notificationService) {
|
||||
this.notificationService.error(e.error);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -5,17 +5,21 @@
|
||||
'use strict';
|
||||
|
||||
import { ContextMenuHandler } from './contextMenuHandler';
|
||||
import { IContextViewService, IContextMenuService, IContextMenuDelegate } from './contextView';
|
||||
import { IContextViewService, IContextMenuService } from './contextView';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { IMessageService } from 'vs/platform/message/common/message';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { INotificationService } from 'vs/platform/notification/common/notification';
|
||||
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
|
||||
|
||||
|
||||
export class ContextMenuService implements IContextMenuService {
|
||||
public _serviceBrand: any;
|
||||
|
||||
private contextMenuHandler: ContextMenuHandler;
|
||||
private _onDidContextMenu = new Emitter<void>();
|
||||
|
||||
constructor(container: HTMLElement, telemetryService: ITelemetryService, messageService: IMessageService, contextViewService: IContextViewService) {
|
||||
this.contextMenuHandler = new ContextMenuHandler(container, contextViewService, telemetryService, messageService);
|
||||
constructor(container: HTMLElement, telemetryService: ITelemetryService, notificationService: INotificationService, contextViewService: IContextViewService) {
|
||||
this.contextMenuHandler = new ContextMenuHandler(container, contextViewService, telemetryService, notificationService);
|
||||
}
|
||||
|
||||
public dispose(): void {
|
||||
@@ -30,5 +34,10 @@ export class ContextMenuService implements IContextMenuService {
|
||||
|
||||
public showContextMenu(delegate: IContextMenuDelegate): void {
|
||||
this.contextMenuHandler.showContextMenu(delegate);
|
||||
this._onDidContextMenu.fire();
|
||||
}
|
||||
}
|
||||
|
||||
public get onDidContextMenu(): Event<void> {
|
||||
return this._onDidContextMenu.event;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,9 @@
|
||||
'use strict';
|
||||
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { IAction, IActionRunner, Action } from 'vs/base/common/actions';
|
||||
import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { ResolvedKeybinding } from 'vs/base/common/keyCodes';
|
||||
import Event from 'vs/base/common/event';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
|
||||
|
||||
export const IContextViewService = createDecorator<IContextViewService>('contextViewService');
|
||||
|
||||
@@ -24,7 +22,7 @@ export interface IContextViewDelegate {
|
||||
getAnchor(): HTMLElement | { x: number; y: number; };
|
||||
render(container: HTMLElement): IDisposable;
|
||||
canRelayout?: boolean; // Default: true
|
||||
onDOMEvent?(e: Event, activeElement: HTMLElement): void;
|
||||
onDOMEvent?(e: any, activeElement: HTMLElement): void;
|
||||
onHide?(data?: any): void;
|
||||
}
|
||||
|
||||
@@ -33,29 +31,6 @@ export const IContextMenuService = createDecorator<IContextMenuService>('context
|
||||
export interface IContextMenuService {
|
||||
_serviceBrand: any;
|
||||
showContextMenu(delegate: IContextMenuDelegate): void;
|
||||
}
|
||||
|
||||
export interface IEvent {
|
||||
shiftKey?: boolean;
|
||||
ctrlKey?: boolean;
|
||||
altKey?: boolean;
|
||||
metaKey?: boolean;
|
||||
}
|
||||
|
||||
export interface IContextMenuDelegate {
|
||||
getAnchor(): HTMLElement | { x: number; y: number; };
|
||||
getActions(): TPromise<(IAction | ContextSubMenu)[]>;
|
||||
getActionItem?(action: IAction): IActionItem;
|
||||
getActionsContext?(event?: IEvent): any;
|
||||
getKeyBinding?(action: IAction): ResolvedKeybinding;
|
||||
getMenuClassName?(): string;
|
||||
onHide?(didCancel: boolean): void;
|
||||
actionRunner?: IActionRunner;
|
||||
autoSelectFirstItem?: boolean;
|
||||
}
|
||||
|
||||
export class ContextSubMenu extends Action {
|
||||
constructor(label: string, public entries: (ContextSubMenu | IAction)[]) {
|
||||
super('contextsubmenu', label, '', true);
|
||||
}
|
||||
}
|
||||
// TODO@isidor these event should be removed once we get async context menus
|
||||
onDidContextMenu: Event<void>;
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
import { IContextViewService, IContextViewDelegate } from './contextView';
|
||||
import { ContextView } from 'vs/base/browser/ui/contextview/contextview';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { IMessageService } from 'vs/platform/message/common/message';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
|
||||
export class ContextViewService implements IContextViewService {
|
||||
public _serviceBrand: any;
|
||||
@@ -17,7 +17,7 @@ export class ContextViewService implements IContextViewService {
|
||||
constructor(
|
||||
container: HTMLElement,
|
||||
@ITelemetryService telemetryService: ITelemetryService,
|
||||
@IMessageService messageService: IMessageService
|
||||
@ILogService private logService: ILogService
|
||||
) {
|
||||
this.contextView = new ContextView(container);
|
||||
}
|
||||
@@ -29,10 +29,12 @@ export class ContextViewService implements IContextViewService {
|
||||
// ContextView
|
||||
|
||||
public setContainer(container: HTMLElement): void {
|
||||
this.logService.trace('ContextViewService#setContainer');
|
||||
this.contextView.setContainer(container);
|
||||
}
|
||||
|
||||
public showContextView(delegate: IContextViewDelegate): void {
|
||||
this.logService.trace('ContextViewService#showContextView');
|
||||
this.contextView.show(delegate);
|
||||
}
|
||||
|
||||
@@ -41,6 +43,7 @@ export class ContextViewService implements IContextViewService {
|
||||
}
|
||||
|
||||
public hideContextView(data?: any): void {
|
||||
this.logService.trace('ContextViewService#hideContextView');
|
||||
this.contextView.hide(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user