import type { BasePubSubService } from '@slickgrid-universal/event-pub-sub'; import type { SlickEventData, SlickGrid } from '../core/index.js'; import type { CellMenu, ContextMenu, DOMMouseOrTouchEvent, MenuCommandItem, MenuFromCellCallbackArgs, MenuOptionItem } from '../interfaces/index.js'; import type { SharedService } from '../services/shared.service.js'; import type { ExtensionUtility } from './extensionUtility.js'; import { MenuBaseClass, type ExtendableItemTypes, type ExtractMenuType, type MenuType } from './menuBaseClass.js'; export declare class MenuFromCellBaseClass extends MenuBaseClass { protected readonly extensionUtility: ExtensionUtility; protected readonly pubSubService: BasePubSubService; protected readonly sharedService: SharedService; protected _currentCell: number; protected _currentRow: number; protected _lastMenuTypeClicked: string; protected _subMenuParentId: string; /** Constructor of the SlickGrid 3rd party plugin, it can optionally receive options */ constructor(extensionUtility: ExtensionUtility, pubSubService: BasePubSubService, sharedService: SharedService); createParentMenu(event: DOMMouseOrTouchEvent | SlickEventData, cell: { cell: number; row: number; }): HTMLDivElement | undefined; /** * Create parent menu or sub-menu(s), a parent menu will start at level 0 while sub-menu(s) will be incremented * @param commandItems - array of optional commands or dividers * @param optionItems - array of optional options or dividers * @param level - menu level * @param item - command, option or divider * @returns menu DOM element */ createMenu(triggeredByElm: HTMLElement, commandItems: Array, optionItems: Array, level?: number, item?: ExtractMenuType): HTMLDivElement | undefined; closeMenu(e: DOMMouseOrTouchEvent | SlickEventData, args: { grid: SlickGrid; } | MenuFromCellCallbackArgs): void; /** Hide the Menu */ hideMenu(): void; protected checkIsColumnAllowed(columnIds: Array, columnId: number | string): boolean; /** Mouse down handler when clicking anywhere in the DOM body */ protected handleBodyMouseDown(e: DOMMouseOrTouchEvent): void; protected handleCloseButtonClicked(e: DOMMouseOrTouchEvent): void; protected handleMenuItemMouseOver(e: DOMMouseOrTouchEvent | SlickEventData, type: MenuType, item: ExtractMenuType, level?: number): void; protected handleMenuItemCommandClick(event: DOMMouseOrTouchEvent | SlickEventData, type: MenuType, item: ExtractMenuType, level?: number): void; protected populateCommandOrOptionCloseBtn(itemType: MenuType, closeButtonElm: HTMLButtonElement, commandOrOptionMenuElm: HTMLDivElement): void; protected repositionSubMenu(item: ExtractMenuType, type: MenuType, level: number, e: DOMMouseOrTouchEvent | SlickEventData): void; } //# sourceMappingURL=menuFromCellBaseClass.d.ts.map