mirror of
https://gitee.com/xuliangzhan_admin/vxe-table.git
synced 2026-01-21 05:27:57 +08:00
86 lines
2.3 KiB
TypeScript
86 lines
2.3 KiB
TypeScript
import { RenderFunction, SetupContext, Ref, ComponentPublicInstance } from 'vue'
|
|
import { VXEComponent, VxeComponentBase } from './component'
|
|
|
|
/* eslint-disable no-use-before-define */
|
|
|
|
/**
|
|
* 表格扩展 - 快捷菜单
|
|
*/
|
|
export const VxeModuleMenu: VXEComponent<{ [key: string]: any }>
|
|
/**
|
|
* 表格扩展 - 快捷菜单
|
|
*/
|
|
export const Menu: VXEComponent<{ [key: string]: any }>
|
|
|
|
export type VxeMenuPanelInstance = ComponentPublicInstance<VxeMenuPanelProps, VxeMenuPanelConstructor>
|
|
|
|
export interface VxeMenuPanelConstructor extends VxeComponentBase, VxeMenuPanelMethods {
|
|
props: VxeMenuPanelProps
|
|
context: SetupContext
|
|
getRefMaps(): MenuPanelPrivateRef
|
|
renderVN: RenderFunction
|
|
}
|
|
|
|
export interface MenuPanelPrivateRef {
|
|
refElem: Ref<HTMLDivElement>
|
|
}
|
|
export interface VxeMenuPanelPrivateRef extends MenuPanelPrivateRef { }
|
|
|
|
export interface VxeMenuPanelMethods { }
|
|
|
|
export type VxeMenuPanelProps = {
|
|
[key: string]: any
|
|
}
|
|
|
|
export interface TableMenuMethods {
|
|
/**
|
|
* 手动关闭快捷菜单
|
|
*/
|
|
closeMenu(): Promise<any>
|
|
}
|
|
|
|
export interface TableMenuPrivateMethods {
|
|
moveCtxMenu(evnt: any, ctxMenuStore: any, property: any, hasOper: boolean, operRest: any, menuList: any): void
|
|
handleGlobalContextmenuEvent(evnt: any): void
|
|
ctxMenuMouseoverEvent(evnt: any, item: any, child?: any): void
|
|
ctxMenuMouseoutEvent(evnt: any, item: any): void
|
|
ctxMenuLinkEvent(evnt: any, menu: any): void
|
|
}
|
|
|
|
declare module './grid' {
|
|
interface VxeGridMethods extends TableMenuMethods { }
|
|
}
|
|
|
|
declare module './table' {
|
|
interface VxeTableMethods extends TableMenuMethods { }
|
|
interface VxeTablePrivateMethods extends TableMenuPrivateMethods { }
|
|
namespace VxeTableDefines {
|
|
export interface MenuOptions {
|
|
disabled?: boolean
|
|
options?: MenuFirstOption[][]
|
|
}
|
|
export interface MenuFirstOption {
|
|
code?: string
|
|
name?: string
|
|
prefixIcon?: string
|
|
suffixIcon?: string
|
|
className?: string
|
|
visible?: boolean
|
|
disabled?: boolean
|
|
children?: MenuChildOption[]
|
|
params?: any
|
|
[key: string]: any
|
|
}
|
|
export interface MenuChildOption {
|
|
code?: string
|
|
name?: string
|
|
prefixIcon?: string
|
|
className?: string
|
|
visible?: boolean
|
|
disabled?: boolean
|
|
params?: any
|
|
[key: string]: any
|
|
}
|
|
}
|
|
}
|