UNPKG

sussudio

Version:

An unofficial VS Code Internal API

87 lines (86 loc) 5.46 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { ActionViewItem, BaseActionViewItem } from "../../../base/browser/ui/actionbar/actionViewItems.mjs"; import { DropdownMenuActionViewItem, IDropdownMenuActionViewItemOptions } from "../../../base/browser/ui/dropdown/dropdownActionViewItem.mjs"; import { IAction, SubmenuAction } from "../../../base/common/actions.mjs"; import { Event } from "../../../base/common/event.mjs"; import "../../../css!./menuEntryActionViewItem.mjs"; import { IMenu, IMenuActionOptions, IMenuService, MenuItemAction, SubmenuItemAction } from "../common/actions.mjs"; import { IContextKeyService } from "../../contextkey/common/contextkey.mjs"; import { IContextMenuService } from "../../contextview/browser/contextView.mjs"; import { IInstantiationService } from "../../instantiation/common/instantiation.mjs"; import { IKeybindingService } from "../../keybinding/common/keybinding.mjs"; import { INotificationService } from "../../notification/common/notification.mjs"; import { IStorageService } from "../../storage/common/storage.mjs"; import { IThemeService } from "../../theme/common/themeService.mjs"; import { IHoverDelegate } from "../../../base/browser/ui/iconLabel/iconHoverDelegate.mjs"; export declare function createAndFillInContextMenuActions(menu: IMenu, options: IMenuActionOptions | undefined, target: IAction[] | { primary: IAction[]; secondary: IAction[]; }, primaryGroup?: string): void; export declare function createAndFillInActionBarActions(menu: IMenu, options: IMenuActionOptions | undefined, target: IAction[] | { primary: IAction[]; secondary: IAction[]; }, primaryGroup?: string | ((actionGroup: string) => boolean), shouldInlineSubmenu?: (action: SubmenuAction, group: string, groupSize: number) => boolean, useSeparatorsInPrimaryActions?: boolean): void; export interface IMenuEntryActionViewItemOptions { draggable?: boolean; keybinding?: string; hoverDelegate?: IHoverDelegate; } export declare class MenuEntryActionViewItem extends ActionViewItem { protected readonly _keybindingService: IKeybindingService; protected _notificationService: INotificationService; protected _contextKeyService: IContextKeyService; protected _themeService: IThemeService; protected _contextMenuService: IContextMenuService; private _wantsAltCommand; private readonly _itemClassDispose; private readonly _altKey; constructor(action: MenuItemAction, options: IMenuEntryActionViewItemOptions | undefined, _keybindingService: IKeybindingService, _notificationService: INotificationService, _contextKeyService: IContextKeyService, _themeService: IThemeService, _contextMenuService: IContextMenuService); protected get _menuItemAction(): MenuItemAction; protected get _commandAction(): MenuItemAction; onClick(event: MouseEvent): Promise<void>; render(container: HTMLElement): void; protected updateLabel(): void; protected getTooltip(): string; protected updateClass(): void; private _updateItemClass; } export declare class SubmenuEntryActionViewItem extends DropdownMenuActionViewItem { protected _contextMenuService: IContextMenuService; protected _themeService: IThemeService; constructor(action: SubmenuItemAction, options: IDropdownMenuActionViewItemOptions | undefined, _contextMenuService: IContextMenuService, _themeService: IThemeService); render(container: HTMLElement): void; } export interface IDropdownWithDefaultActionViewItemOptions extends IDropdownMenuActionViewItemOptions { renderKeybindingWithDefaultActionLabel?: boolean; } export declare class DropdownWithDefaultActionViewItem extends BaseActionViewItem { protected readonly _keybindingService: IKeybindingService; protected _notificationService: INotificationService; protected _contextMenuService: IContextMenuService; protected _menuService: IMenuService; protected _instaService: IInstantiationService; protected _storageService: IStorageService; private readonly _options; private _defaultAction; private _dropdown; private _container; private _storageKey; get onDidChangeDropdownVisibility(): Event<boolean>; constructor(submenuAction: SubmenuItemAction, options: IDropdownWithDefaultActionViewItemOptions | undefined, _keybindingService: IKeybindingService, _notificationService: INotificationService, _contextMenuService: IContextMenuService, _menuService: IMenuService, _instaService: IInstantiationService, _storageService: IStorageService); private update; private _getDefaultActionKeybindingLabel; setActionContext(newContext: unknown): void; render(container: HTMLElement): void; focus(fromRight?: boolean): void; blur(): void; setFocusable(focusable: boolean): void; dispose(): void; } /** * Creates action view items for menu actions or submenu actions. */ export declare function createActionViewItem(instaService: IInstantiationService, action: IAction, options?: IDropdownMenuActionViewItemOptions | IMenuEntryActionViewItemOptions): undefined | MenuEntryActionViewItem | SubmenuEntryActionViewItem | BaseActionViewItem;