@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
30 lines (28 loc) • 1.31 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IAnchor } from '@sussudio/base/browser/ui/contextview/contextview.mjs';
import { IAction } from '@sussudio/base/common/actions.mjs';
import '../../../css!./actionWidget.mjs';
import { IListMenuItem } from './actionList.mjs';
import { IActionItem } from '../common/actionWidget.mjs';
export interface IRenderDelegate<T extends IActionItem> {
onHide(didCancel?: boolean): void;
onSelect(action: IActionItem, preview?: boolean): Promise<any>;
}
export declare const IActionWidgetService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IActionWidgetService>;
export interface IActionWidgetService {
readonly _serviceBrand: undefined;
show(
user: string,
supportsPreview: boolean,
items: IListMenuItem<IActionItem>[],
delegate: IRenderDelegate<any>,
anchor: IAnchor,
container: HTMLElement | undefined,
actionBarActions?: readonly IAction[],
): Promise<void>;
hide(): void;
readonly isVisible: boolean;
}