mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-27 09:35:37 -05:00
* Fix initial build breaks from 1.67 merge (#2514) * Update yarn lock files * Update build scripts * Fix tsconfig * Build breaks * WIP * Update yarn lock files * Misc breaks * Updates to package.json * Breaks * Update yarn * Fix breaks * Breaks * Build breaks * Breaks * Breaks * Breaks * Breaks * Breaks * Missing file * Breaks * Breaks * Breaks * Breaks * Breaks * Fix several runtime breaks (#2515) * Missing files * Runtime breaks * Fix proxy ordering issue * Remove commented code * Fix breaks with opening query editor * Fix post merge break * Updates related to setup build and other breaks (#2516) * Fix bundle build issues * Update distro * Fix distro merge and update build JS files * Disable pipeline steps * Remove stats call * Update license name * Make new RPM dependencies a warning * Fix extension manager version checks * Update JS file * Fix a few runtime breaks * Fixes * Fix runtime issues * Fix build breaks * Update notebook tests (part 1) * Fix broken tests * Linting errors * Fix hygiene * Disable lint rules * Bump distro * Turn off smoke tests * Disable integration tests * Remove failing "activate" test * Remove failed test assertion * Disable other broken test * Disable query history tests * Disable extension unit tests * Disable failing tasks
61 lines
2.4 KiB
TypeScript
61 lines
2.4 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
|
|
import { ModifierKeyEmitter } from 'vs/base/browser/dom';
|
|
import { Emitter } from 'vs/base/common/event';
|
|
import { Disposable } from 'vs/base/common/lifecycle';
|
|
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
|
|
import { INotificationService } from 'vs/platform/notification/common/notification';
|
|
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
|
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
|
import { ContextMenuHandler, IContextMenuHandlerOptions } from './contextMenuHandler';
|
|
import { IContextMenuService, IContextViewService } from './contextView';
|
|
|
|
export class ContextMenuService extends Disposable implements IContextMenuService {
|
|
declare readonly _serviceBrand: undefined;
|
|
|
|
private contextMenuHandler: ContextMenuHandler;
|
|
|
|
private readonly _onDidShowContextMenu = new Emitter<void>();
|
|
readonly onDidShowContextMenu = this._onDidShowContextMenu.event;
|
|
|
|
private readonly _onDidHideContextMenu = new Emitter<void>();
|
|
readonly onDidHideContextMenu = this._onDidHideContextMenu.event;
|
|
|
|
constructor(
|
|
@ITelemetryService telemetryService: ITelemetryService,
|
|
@INotificationService notificationService: INotificationService,
|
|
@IContextViewService contextViewService: IContextViewService,
|
|
@IKeybindingService keybindingService: IKeybindingService,
|
|
@IThemeService themeService: IThemeService
|
|
) {
|
|
super();
|
|
|
|
this.contextMenuHandler = new ContextMenuHandler(contextViewService, telemetryService, notificationService, keybindingService, themeService);
|
|
}
|
|
|
|
configure(options: IContextMenuHandlerOptions): void {
|
|
this.contextMenuHandler.configure(options);
|
|
}
|
|
|
|
// ContextMenu
|
|
|
|
showContextMenu(delegate: IContextMenuDelegate): void {
|
|
this.contextMenuHandler.showContextMenu({
|
|
...delegate,
|
|
onHide: (didCancel) => {
|
|
if (delegate.onHide) {
|
|
delegate.onHide(didCancel);
|
|
}
|
|
|
|
this._onDidHideContextMenu.fire();
|
|
}
|
|
});
|
|
ModifierKeyEmitter.getInstance().resetKeyStatus();
|
|
this._onDidShowContextMenu.fire();
|
|
}
|
|
}
|