mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-13 19:48:37 -05:00
45 lines
1.8 KiB
TypeScript
45 lines
1.8 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 { IDisposable } from 'vs/base/common/lifecycle';
|
|
import { Event } from 'vs/base/common/event';
|
|
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
|
import { IContextMenuDelegate } from 'vs/base/browser/contextmenu';
|
|
import { AnchorAlignment, IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview';
|
|
|
|
export const IContextViewService = createDecorator<IContextViewService>('contextViewService');
|
|
|
|
export interface IContextViewService extends IContextViewProvider {
|
|
|
|
readonly _serviceBrand: undefined;
|
|
|
|
showContextView(delegate: IContextViewDelegate, container?: HTMLElement, shadowRoot?: boolean): IDisposable;
|
|
hideContextView(data?: any): void;
|
|
layout(): void;
|
|
anchorAlignment?: AnchorAlignment;
|
|
}
|
|
|
|
export interface IContextViewDelegate {
|
|
|
|
canRelayout?: boolean; // Default: true
|
|
|
|
getAnchor(): HTMLElement | { x: number; y: number; width?: number; height?: number; };
|
|
render(container: HTMLElement): IDisposable;
|
|
onDOMEvent?(e: any, activeElement: HTMLElement): void;
|
|
onHide?(data?: any): void;
|
|
focus?(): void;
|
|
anchorAlignment?: AnchorAlignment;
|
|
}
|
|
|
|
export const IContextMenuService = createDecorator<IContextMenuService>('contextMenuService');
|
|
|
|
export interface IContextMenuService {
|
|
|
|
readonly _serviceBrand: undefined;
|
|
|
|
showContextMenu(delegate: IContextMenuDelegate): void;
|
|
onDidContextMenu: Event<void>; // TODO@isidor these event should be removed once we get async context menus
|
|
}
|