@progress/kendo-vue-grid
Version:
156 lines (155 loc) • 4.37 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { PropType } from 'vue';
import { LocalizationService } from '@progress/kendo-vue-intl';
import { MenuItemModel, MenuSelectEvent } from '@progress/kendo-vue-layout';
import { Offset } from '@progress/kendo-vue-popup';
import { GridContextMenuItemNames } from './enums';
/**
* Represents the `GridContextMenuOptions`.
*/
export interface GridContextMenuOptions {
/**
* The contextmenu settings for the head of the data table.
*/
head?: boolean | (GridContextMenuItemNames | MenuItemModel)[];
/**
* The contextmenu settings for the body of the data table.
*/
body?: boolean | (GridContextMenuItemNames | MenuItemModel)[];
}
/**
* Represents the `GridCellBaseOptions` object that are passed to the handler.
*/
export interface GridCellBaseOptions {
/**
* The data item associated with the cell.
*/
dataItem?: any;
/**
* The field name of the column associated with the cell.
*/
field?: string;
}
/**
* @hidden
*/
export interface GridContextMenuItem extends MenuItemModel {
name?: string;
options?: string;
items?: GridContextMenuItem[];
}
/**
* @hidden
*/
export interface GridContextMenuProps {
show: boolean;
offset: Offset;
onClose: () => void;
onSelect: (e: {
event: MenuSelectEvent;
dataItem?: any;
field?: string;
}) => void;
dataItem?: any;
field?: string;
items?: (GridContextMenuItemNames | GridContextMenuItem)[];
}
/**
* @hidden
*/
export declare const contextMenuItemsMap: Record<string, GridContextMenuItem>;
/**
* @hidden
*/
export declare const getDefaultHeadContextMenuItems: (options: {
pdf?: boolean;
sortable?: boolean;
selectable?: boolean;
editable?: boolean;
reorderable?: boolean;
clipboard?: boolean;
}) => GridContextMenuItemNames[];
/**
* @hidden
*/
export declare const getDefaultBodyContextMenuItems: (options: {
pdf?: boolean;
sortable?: boolean;
selectable?: boolean;
editable?: boolean;
rowReorderable?: boolean;
clipboard?: boolean;
pinnable?: boolean;
}) => GridContextMenuItemNames[];
/**
* @hidden
*/
export declare const GridContextMenu: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
show: {
type: BooleanConstructor;
default: boolean;
};
offset: {
type: PropType<Offset>;
default: () => {
left: number;
top: number;
};
};
dataItem: {
type: ObjectConstructor;
default: any;
};
field: {
type: StringConstructor;
default: any;
};
items: {
type: PropType<(GridContextMenuItemNames | GridContextMenuItem)[]>;
default: any;
};
}>, {}, {}, {}, {
localizeItem(item: GridContextMenuItem, ls: LocalizationService): GridContextMenuItem;
menuItems(): GridContextMenuItem[] | undefined;
handleSelect(event: MenuSelectEvent): void;
handleClose(): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("select" | "close")[], "select" | "close", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
show: {
type: BooleanConstructor;
default: boolean;
};
offset: {
type: PropType<Offset>;
default: () => {
left: number;
top: number;
};
};
dataItem: {
type: ObjectConstructor;
default: any;
};
field: {
type: StringConstructor;
default: any;
};
items: {
type: PropType<(GridContextMenuItemNames | GridContextMenuItem)[]>;
default: any;
};
}>> & Readonly<{
onSelect?: (...args: any[]) => any;
onClose?: (...args: any[]) => any;
}>, {
field: string;
dataItem: Record<string, any>;
items: (GridContextMenuItemNames | GridContextMenuItem)[];
offset: Offset;
show: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;