@visactor/vtable
Version:
canvas table width high performance
42 lines (41 loc) • 1.5 kB
TypeScript
import type { IGroup } from './../../vrender';
import type { MenuListItem } from '../../ts-types';
import { Group } from '../graphic/group';
import type { BaseTableAPI } from '../../ts-types/base-table';
export declare enum MenuType {
'dropDown' = "dropDown",
'contextmenu' = "contextmenu",
'custom' = "custom"
}
type MenuInfo = MenuListItem[];
export declare class MenuHandler {
private _table;
private _menuInstance;
private _menuInfo;
constructor(table: BaseTableAPI);
bindTableComponent(componentGroup: Group): void;
release(): void;
attach(x: number, y: number, col: number, row: number, type: MenuType, menuInfo?: MenuInfo): void;
updateMenuInfo(col: number, row: number, type: MenuType, menuInfo: MenuListItem[], highlightIndex: number): void;
checkDropDownMenuChange(col: number, row: number): boolean;
checkContextMenuChange(x: number, y: number): boolean;
updateMenuInstance(menuInfo: MenuInfo, highlightIndex: number): void;
updatePosition(x: number, y: number): void;
addToScene(): void;
detach(): void;
getMenuInfo(col: number, row: number, type: MenuType): {
menuInfo: MenuListItem[];
highlightIndex: number;
};
bindEvent(): void;
getEventInfo(target: IGroup): {
col: number;
row: number;
menuKey: string;
dropDownIndex: number;
text: string;
highlight: boolean;
};
get bounds(): import("@visactor/vutils").IBounds;
}
export {};