ag-grid-enterprise
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
27 lines (26 loc) • 2.28 kB
TypeScript
import type { _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService, _WithoutCommon } from 'ag-grid-community';
import { _AgBeanStub } from 'ag-grid-community';
import type { AgMenuItemCallbacks, AgMenuItemDef } from './agMenuItemComponent';
export interface AgContextMenuServiceParams<TBeanCollection, TCommon, TMenuActionParams extends TCommon, TDefaultMenuItem extends string> {
menuItemCallbacks: AgMenuItemCallbacks<TBeanCollection, TMenuActionParams, TCommon>;
getMenuItems(menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, mouseEvent: MouseEvent | Touch): (TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[] | Promise<(TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[]> | undefined;
mapMenuItems?(menuItems: (TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[], menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, getGui: () => HTMLElement): (TDefaultMenuItem | AgMenuItemDef<TMenuActionParams, TCommon>)[];
shouldBlockMenuOpen?(): boolean;
beforeMenuOpen?(menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>): void;
onMenuOpen?(): void;
onMenuClose?(): void;
afterMenuDestroyed?(): void;
onVisibleChanged?(visible: boolean, source: 'api' | 'ui'): void;
}
export declare class AgContextMenuService<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TComponentSelectorType extends string, TMenuActionParams extends TCommon, TDefaultMenuItem extends string> extends _AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService> {
private readonly params;
private destroyLoadingSpinner;
private lastPromise;
private activeMenu;
constructor(params: AgContextMenuServiceParams<TBeanCollection, TCommon, TMenuActionParams, TDefaultMenuItem>);
hideActiveMenu(): void;
showMenu(menuActionParams: _WithoutCommon<TCommon, TMenuActionParams>, mouseEvent: MouseEvent | Touch, anchorToElement?: HTMLElement): boolean;
private createLoadingIcon;
private createContextMenu;
destroy(): void;
}