vxe-pc-ui
Version:
A vue based PC component library
121 lines (104 loc) • 3.63 kB
TypeScript
import { RenderFunction, SetupContext, Ref } from 'vue'
import { VxeComponentBaseOptions, DefineVxeComponentInstance } from '@vxe-ui/core'
import { VxeTableDefines, VxeTableConstructor, VxeTableMethods, VxeTablePrivateMethods } from '../table'
/* eslint-disable no-use-before-define */
export interface VxeTableCustomPanelConstructor extends VxeComponentBaseOptions, VxeTableCustomPanelMethods {
props: VxeTableCustomPanelProps
context: SetupContext<VxeTableCustomPanelEmits>
reactData: TableCustomPanelReactData
internalData: TableCustomPanelInternalData
getRefMaps(): TableCustomPanelPrivateRef
getComputeMaps(): TableCustomPanelPrivateComputed
renderVN: RenderFunction
xeTable: VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods
}
export type VxeTableCustomPanelInstance = DefineVxeComponentInstance<VxeTableCustomPanelProps, VxeTableCustomPanelConstructor>
interface VxeTableCustomPanelProps {
customStore?: VxeTableDefines.VxeTableCustomStoreObj
}
export interface TableCustomPanelReactData {
dragCol: VxeTableDefines.ColumnInfo | null
dragGroupField: string | null | undefined
dragAggFnCol?: VxeTableDefines.ColumnInfo | null
dragTipText: string
}
export interface TableCustomPanelInternalData {
prevDragCol?: VxeTableDefines.ColumnInfo | null | undefined
prevDragGroupField?: string | null | undefined
prevDragAggFnColid?: string | null | undefined
prevDragToChild?: boolean
prevDragPos?: any
}
export interface TableCustomPanelPrivateRef {
refElem: Ref<HTMLDivElement | undefined>
refBodyWrapperElem: Ref<HTMLDivElement | undefined>
refCustomBodyElem: Ref<HTMLDivElement | undefined>
refDragLineElem: Ref<HTMLDivElement | undefined>
refDragTipElem: Ref<HTMLDivElement | undefined>
}
export interface TableCustomPanelPrivateComputed {
}
export interface VxeTableCustomPanelMethods {
}
type VxeTableCustomPanelEmits = []
export interface VxeCustomPanel {
}
export interface TableCustomMethods<D = any> {
/**
* 获取个性化列面板显示状态
*/
getCustomVisible(): boolean
/**
* 打开个性化列面板
*/
openCustom(): Promise<void>
/**
* 关闭个性化列面板
*/
closeCustom(): Promise<void>
/**
* 切换个性化列面板打开与关闭
*/
toggleCustom(): Promise<void>
/**
* 重置个性化列操作
* 支持只重置指定的操作(列可视、列宽、冻结列、列顺序)
*/
resetCustom(options?: boolean | {
visible?: boolean
resizable?: boolean
fixed?: boolean
order?: boolean
}): Promise<void>
/**
* 保存个性化列操作
*/
saveCustom(): Promise<void>
/**
* 取消个性化列操作
*/
cancelCustom(): Promise<void>
/**
* 切换个性化列全选状态
*/
toggleCustomAllCheckbox(): Promise<void>
/**
* 设置个性化列全选状态
*/
setCustomAllCheckbox(checked: boolean): Promise<void>
}
export interface TableCustomPrivateMethods<D = any> {
checkCustomStatus(): void
emitCustomEvent(type: string, evnt: Event): void
triggerCustomEvent(evnt: MouseEvent): void
customOpenEvent (evnt: Event): void
customCloseEvent (evnt: Event): void
handleUpdateCustomColumn(): void
}
declare module '../grid' {
export interface VxeGridMethods<D = any> extends TableCustomMethods<D> { }
}
declare module '../table' {
export interface VxeTableMethods<D = any> extends TableCustomMethods<D> { }
export interface VxeTablePrivateMethods<D = any> extends TableCustomPrivateMethods<D> { }
}