import { RBT } from "@/component/rbt-base"; import { Ref } from "vue"; import { TableColumnInstance, TableInstance } from "element-plus"; import { RbtGridColumnService } from "./rbt-grid-column-service.ts"; /** * 事件定义 */ export interface IGridEmits { (event: "update:modelValue", value: string): void; } export type IGridTooltipOptions = 'effect' | 'enterable' | 'hideAfter' | 'offset' | 'placement' | 'popperClass' | 'popperOptions' | 'showAfter' | 'showArrow'; export type IGridTableLayout = "fixed" | "auto"; export type IGridSize = "large" | "default" | "small"; export type IGridRbtType = "date" | "datetime" | "double" | "integer" | "dl" | ""; /** * 表尾合计 */ export interface IGridSummaryMethodProps { columns: RbtGridColumnService[]; data: T[]; } /** * 参数定义 */ export interface IGridProps { dsClassName?: string; modelValue?: string; data?: rowData[]; height?: number | string; maxHeight?: number | string; stripe?: boolean; border?: boolean; size?: IGridSize; fit?: boolean; showHeader?: boolean; highlightCurrentRow?: boolean; currentRowKey?: number | string; emptyText?: string; defaultExpandAll?: boolean; expandRowKeys?: string[]; defaultSort?: string[]; tooltipEffect?: string; tooltipOptions?: IGridTooltipOptions | any; showSummary?: boolean; sumText?: string; selectOnIndeterminate?: boolean; indent?: number; lazy?: boolean; tableLayout?: IGridTableLayout; scrollbarAlwaysOn?: boolean; showOverflowTooltip?: boolean; flexible?: boolean; /** * 自定义的合计计算方法 * @param param */ summaryMethod?(param: IGridSummaryMethodProps): string[]; } /** * 方法定义 */ export interface IGridMethod { /** * @type RBT.event.EventSource */ clickRowEvent: RBT.event.EventSource; /** * @type RBT.event.EventSource */ dblClickRowEvent: RBT.event.EventSource; /** * @type RBT.event.EventSource */ clickCellEvent: RBT.event.EventSource; /** * @type RBT.event.EventSource */ endEditEvent: RBT.event.EventSource; /** * @type RBT.event.EventSource */ beforeEditEvent: RBT.event.EventSource; /** * 行选中事件 * @type RBT.event.EventSource */ selectEvent: RBT.event.EventSource; /** * 取消行选中事件 * @type RBT.event.EventSource */ unselectEvent: RBT.event.EventSource; /** * 选中所有行事件 * @type RBT.event.EventSource */ selectAllEvent: RBT.event.EventSource; /** * 取消选中所有行事件 * @type RBT.event.EventSource */ unselectAllEvent: RBT.event.EventSource; /** * datagrid数据绑定成功事件 * @type RBT.event.EventSource */ dataLoadSuccess: RBT.event.EventSource; tableColumnRef: Ref; tableRef: Ref; columnsSetEvent: RBT.event.EventSource; dsObject: RBT.DsObject | undefined; dsMode: RBT.DsMode | undefined; height: number; pageRows: number; isTreeGrid: boolean; isInited: boolean; isShowFooter: boolean; isShowPaper: boolean; isSingleSelect: boolean; isShowRowNumber: boolean; isMultiSort: boolean; isUseDefaultView: boolean; isAllowMaxPageRows: boolean; /** * 单元格keydown事件,如inputText,inputInt等自定义formatter列中触发. * @type event.EventSource */ cellKeyDown: RBT.event.EventSource; /** * 单元格click事件,如inputText,inputInt等自定义formatter列中触发. * @type RBT.event.EventSource */ cellClick: RBT.event.EventSource; /** * applyOption时触发. * @type RBT.event.EventSource */ applyOptionEvent: RBT.event.EventSource; /** * applyOption之前时触发. * @type RBT.event.EventSource */ applyOptionPrepEvent: RBT.event.EventSource; setTableColumnRef(ref: Ref): void; /** * 获取选择行数据 */ getSelections(): rowData[]; /** * 获取选择行 */ getSelectedRows(): number[]; /** * 获得选中行的某列的数据 * @param colName */ getSelectedColData(...colName: string[]): string[]; /** * 获取原始属性 */ getSource(): any; /** * 删除行 * @param rows */ deleteRow(...rows: number[]): any; /** * 刷新行 * @param row */ refreshRow(row: number): void; /** * 刷新全部数据 */ refreshRowAll(): void; /** * 从数据库刷新行 * @param rows */ refreshRowFormDb(...rows: number[]): Promise; /** * 取消选择行 * @param rows */ unSelectRow(...rows: number[]): void; /** * 设置选择行 * @param rows */ setSelectRow(...rows: number[]): void; /** * 初始化 */ applyOption(): void; /** * 设置高度 * @param _height */ setHeight(_height: number): void; /** * 单行选择 * @param bool */ setSingleSelect(bool: boolean): void; /** * 设置用户默认值 * @param bool */ setUseDefaultView(bool: boolean): void; /** * 获取用户默认值 */ getUseDefaultView(): rowData; /** * 设置每页显示多少行 * @param _pageRows */ setPageRows(_pageRows: number): void; /** * 获取每页显示多少行 */ getPageRows(): number; /** * 获取dsObject */ getDsObject(): RBT.DsObject; /** * 设置dsObject * @param _ds */ setDsObject(_ds: RBT.DsObject): void; /** * 设置是否显示合计 * @param show */ setShowFooter(show: boolean): void; /** * 获取是否显示合计 */ getShowFooter(): boolean; /** * 设置是否显示分页 * @param show */ setShowPaper(show: boolean): void; /** * 获取是否显示分页 */ getShowPaper(): boolean; onDblClickRow(listener: (rowIndex: number, rowData: rowData) => void): void; onClickRow(listener: (rowIndex: number, rowData: rowData) => void): void; /** * 单元格点击事件 * @param listener */ onClickCell(listener: (rowIndex: number, field: string, value: any) => void): void; /** * 单元格编辑结束事件 * @param listener */ onEndEdit(listener: () => void): void; onCellKeyDown(listener: (event: any, control: any, row: rowData) => void): void; /** * 单元格click事件 * @param listener */ onCellClick(listener: (event: any, control: any, row: rowData) => void): void; /** * applyOption触发 * @param listener */ onApplyOption(listener: () => void): void; /** * applyOption之前触发 * @param listener */ onApplyPrepOption(listener: () => void): void; onColumnsSet(listener: (cols: number[]) => void): void; /** * 选中行事件 * @param listener */ onSelect(listener: (row: number, rowData: rowData) => void): void; /** * 取消选中事件 * @param listener */ onUnselect(listener: (rowIndex: number, rowData: rowData) => void): void; /** * 选择所有行事件 * @param listener */ onSelectAll(listener: (rows: number[]) => void): void; /** * 监听取消所有行事件 * @param listener */ onUnselectAll(listener: (rows: number[]) => void): void; /** * 绑定数据 * @param dm * @param isResetStat 是否重置状态,默认是 */ loadData(dm: RBT.DsMode, isResetStat: boolean): void; } /** * UI的事件 */ export interface IGridEvent { select(selection: rowData, row: number): void; selectAll(selection: rowData): void; selectionChange(selection: rowData): void; cellMouseEnter?(row: number, column: columnInfo, cell: any, event: any): void; cellMouseLeave?(row: number, column: columnInfo, cell: any, event: any): void; cellClick(row: number, column: columnInfo, cell: any, event: any): void; cellDblclick(row: number, column: columnInfo, cell: any, event: any): void; cellContextmenu(row: number, column: columnInfo, cell: any, event: any): void; rowClick(row: number, column: columnInfo, event: any): void; rowContextmenu(row: number, column: columnInfo, event: any): void; rowDblclick(row: number, column: columnInfo, event: any): void; headerClick(column: columnInfo, event: any): void; headerContextmenu(column: columnInfo, event: any): void; sortChange(onj: { column: columnInfo; prop: any; order: any; }): void; filterChange(onj: any): void; currentChange(currentRow: number, oldCurrentRow: number): void; headerDragend(newWidth: number, oldWidth: number, column: columnInfo, event: any): void; expandChange(row: number, onj: any): void; } //# sourceMappingURL=rbt-grid-interface.d.ts.map