UNPKG

@jiaozhiye/qm-design-vue

Version:

A Component Library for Vue3.0

130 lines (129 loc) 4.26 kB
import { Ref } from 'vue'; import TableManager from '../manager'; import Store from '../store'; import type { ScrollbarInstance } from '../../../scrollbar/src/props'; import type { getRowKeyType, IColumn, IDerivedRowKey, 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[]; tableFlatData: IRecord[]; allTableData: IRecord[]; allRowKeys: IRowKey[]; allParentRowKeys: IRowKey[]; deriveRowKeys: IDerivedRowKey[]; fieldAuth: Record<string, IFieldAuthItem>; columnsDefined: boolean; scrollBarRef: Ref<ScrollbarInstance | undefined>; scrollXStore: { startIndex: number; endIndex: number; offsetSize: number; visibleSize: number; }; scrollYStore: { startIndex: number; endIndex: number; offsetSize: number; visibleSize: number; rowHeight: number; }; store: Store; resizeState: { width: number; height: number; winHeight: number; }; handleState: { insert: InsertMode | null; remove: boolean; }; summaries: Record<string, number>; treeTable: boolean; scrollXLoad: boolean; scrollYLoad: boolean; shouldToTop: 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; setTableFlatData: (records: IRecord[]) => void; setTableOriginData: (records: IRecord[]) => void; setAllTableData: (records: IRecord[]) => void; setDeriveRowKeys: (records: IRecord[]) => void; setFieldAuth: (key: string, value: IFieldAuthItem) => void; setColumnsDefined: (value: boolean) => void; setScrollXStore: (option: ITableRef['scrollXStore']) => void; setScrollYStore: (option: ITableRef['scrollYStore']) => void; setResizeState: (option: ITableRef['resizeState']) => void; setHandleState: (option: ITableRef['handleState']) => void; setSummaries: (option: ITableRef['summaries']) => void; setScrollXLoad: (value: boolean) => void; setScrollYLoad: (value: boolean) => void; setShouldToTop: (value: boolean) => void; setSelectionRows: (selectKeys: IRecord[]) => void; setRecordsMap: (key: IRowKey, value: IRecord) => void; setUnMounted: (value: boolean) => void; clearElementStore: () => void; clearRecordsMap: () => void; uid: string; tableManager: typeof TableManager; elementStore: Record<string, Nullable<HTMLElement>>; originColumns: IColumn[]; tableFullData: IRecord[]; tableOriginData: IRecord[]; tableFlatData: IRecord[]; allTableData: IRecord[]; allRowKeys: IRowKey[]; allParentRowKeys: IRowKey[]; deriveRowKeys: IDerivedRowKey[]; fieldAuth: Record<string, IFieldAuthItem>; columnsDefined: boolean; scrollBarRef: Ref<ScrollbarInstance | undefined>; scrollXStore: { startIndex: number; endIndex: number; offsetSize: number; visibleSize: number; }; scrollYStore: { startIndex: number; endIndex: number; offsetSize: number; visibleSize: number; rowHeight: number; }; store: Store; resizeState: { width: number; height: number; winHeight: number; }; handleState: { insert: InsertMode | null; remove: boolean; }; summaries: Record<string, number>; treeTable: boolean; scrollXLoad: boolean; scrollYLoad: boolean; shouldToTop: boolean; selectionRows: IRecord[]; recordsMap: Map<IRowKey, IRecord>; unMounted: boolean; isIE: boolean; tableVar: ITableRef; }; export default useTableVar;