interface CallbackFun { <T>(data: T): T; } // Color name for component from the Quasar Color Palette interface CellRenderButtonsType { hide?: boolean; label?: string; icon?: string; color?: string; textColor?: string; tooltip?: string; loading?: boolean; disable?: boolean; dense?: boolean; noCaps?: boolean; round?: boolean; flat?: boolean; outline?: boolean; unelevated?: boolean; rounded?: boolean; push?: boolean; square?: boolean; glossy?: boolean; fab?: boolean; callback: CallbackFun; } interface MoreButtonsItemType { hide?: boolean; label: string; icon?: string; color?: string; callback: CallbackFun; } type OmitMoreButtonsType = Omit<CellRenderButtonsType, 'callback'>; interface MoreButtonsType extends OmitMoreButtonsType { children?: Array<MoreButtonsItemType>; } interface ButtonCellRenderType { buttons: Array<CellRenderButtonsType>; moreButtons?: MoreButtonsType; [proppName: string]: any; } interface ColumnDefsType { field?: string; headerName?: string; width?: number; minWidth?: number; minHeight?: number; maxWidth?: number; maxHeight?: number; pinned?: string; // 固定在左/右 left right editable?: boolean; // 可以编辑单元格 flex?: number; cellEditor?: any; cellRenderer?: any; cellRendererParams?: any; [proppName: string]: any; } export type { ColumnDefsType, ButtonCellRenderType, CellRenderButtonsType, MoreButtonsType, };