UNPKG

@jiaozhiye/qm-design-vue

Version:

A Component Library for Vue3.0

87 lines (86 loc) 2.96 kB
import { Ref } from 'vue'; import TableManager from '../manager'; import Store from '../store'; import type { ScrollbarInstance } from '../../../scrollbar/src/props'; import type { getRowKeyType, IColumn, IFieldAuthItem, InsertMode, IRecord, IRowKey, ITableProps } from '../table/types'; import type { Nullable } from '../../../_utils/types'; export type ITableRef = { uid: string; tableManager: typeof TableManager; elementStore: Record<string, Nullable<HTMLElement>>; originColumns: IColumn[]; tableFullData: IRecord[]; tableOriginData: IRecord[]; fieldAuth: Record<string, IFieldAuthItem>; columnsDefined: boolean; scrollBarRef: Ref<ScrollbarInstance | undefined>; store: Store; resizeState: { width: number; height: number; winHeight: number; }; handleState: { insert: InsertMode | null; remove: boolean; }; summaries: Record<string, number>; isTreeTable: boolean; isOriginTree: boolean; scrollXLoad: boolean; scrollYLoad: boolean; selectionRows: IRecord[]; recordsMap: Map<IRowKey, IRecord>; unMounted: boolean; isIE: boolean; }; type IExtra = { getRowKey: getRowKeyType; }; declare const useTableVar: <T extends ITableProps>(props: T, { getRowKey }: IExtra) => { setElementStore: (key: string, value: HTMLElement) => void; setOriginColumns: (columns: IColumn[]) => void; setTableFullData: (records: IRecord[]) => void; setTableOriginData: (records: IRecord[]) => void; setTableDataMaps: (records: IRecord[]) => void; setFieldAuth: (key: string, value: IFieldAuthItem) => void; setColumnsDefined: (value: boolean) => void; setResizeState: (option: ITableRef['resizeState']) => void; setHandleState: (option: ITableRef['handleState']) => void; setSummaries: (option: ITableRef['summaries']) => void; setScrollXLoad: (value: boolean) => void; setScrollYLoad: (value: boolean) => void; setSelectionRows: (selectKeys: IRecord[]) => void; setUnMounted: (value: boolean) => void; clearElementStore: () => void; uid: string; tableManager: typeof TableManager; elementStore: Record<string, Nullable<HTMLElement>>; originColumns: IColumn[]; tableFullData: IRecord[]; tableOriginData: IRecord[]; fieldAuth: Record<string, IFieldAuthItem>; columnsDefined: boolean; scrollBarRef: Ref<ScrollbarInstance | undefined>; store: Store; resizeState: { width: number; height: number; winHeight: number; }; handleState: { insert: InsertMode | null; remove: boolean; }; summaries: Record<string, number>; isTreeTable: boolean; isOriginTree: boolean; scrollXLoad: boolean; scrollYLoad: boolean; selectionRows: IRecord[]; recordsMap: Map<IRowKey, IRecord>; unMounted: boolean; isIE: boolean; tableVar: ITableRef; }; export default useTableVar;