UNPKG

@jiaozhiye/qm-design-vue

Version:

A Component Library for Vue3.0

110 lines (109 loc) 4.83 kB
import { Ref, ComputedRef } from 'vue'; import type { ITableRef } from './useTableVar'; import type { ITableState } from './useTableRef'; import type { getRowKeyType, IColumn, IFetchParams, IFieldAuthItem, IFilter, IPagination, IRecord, IRowKey, IRule, ISorter, ISuperFilter, ITableProps, IValidItem, TableBodyRef } from '../table/types'; import type { ComponentSize } from '../../../_utils/types'; type IExtra = { emit: (name: string, ...args: any[]) => void; getRowKey: getRowKeyType; tableVar: ITableRef; tableElementRef: Ref<HTMLElement | undefined>; tableBodyRef: Ref<TableBodyRef | undefined>; $size: ComputedRef<ComponentSize>; tableData: Ref<ITableState['tableData']>; tableColumns: ComputedRef<IColumn[]>; flattenColumns: ComputedRef<IColumn[]>; pagination: Ref<IPagination>; layout: Ref<ITableState['layout']>; scrollY: Ref<boolean>; filters: Ref<IFilter>; sorter: Ref<ISorter>; superFilters: Ref<ISuperFilter[]>; fetchParams: ComputedRef<IFetchParams>; totalRow: Ref<ITableState['totalRow']>; selectionKeys: Ref<IRowKey[]>; rowExpandedKeys: Ref<IRowKey[]>; highlightKey: Ref<IRowKey>; summationColumns: ComputedRef<IColumn[]>; shouldUpdateHeight: ComputedRef<boolean>; isFetch: ComputedRef<boolean>; isTreeTable: ComputedRef<boolean>; isWebPagination: ComputedRef<boolean>; isScrollPagination: ComputedRef<boolean>; isServiceSummation: ComputedRef<boolean>; isGroupSubtotal: ComputedRef<boolean>; doLayout: () => void; setTotalRow: (value: number) => void; setTableData: (records: IRecord[]) => void; setTableFlatColumns: (columns: IColumn[]) => void; setTableFullData: (records: IRecord[]) => void; setTableOriginData: (records: IRecord[]) => void; setTableFlatData: (records: IRecord[]) => void; setAllTableData: (records: IRecord[]) => void; setDeriveRowKeys: (records: IRecord[]) => void; setPagination: (pagination: IPagination) => void; setSpinning: (value: boolean) => void; setSorter: (sorter: ITableState['sorter']) => void; setFilters: (sorter: ITableState['filters']) => void; setSuperFilters: (options: ITableState['superFilters']) => void; setSelectionKeys: (rowKeys: IRowKey[]) => void; setRowExpandedKeys: (rowKeys: IRowKey[]) => void; setHighlightKey: (rowKey: IRowKey) => void; setSelectionRows: (records: IRecord[]) => void; setScrollXLoad: (value: boolean) => void; setScrollYLoad: (value: boolean) => void; setScrollXStore: (option: ITableRef['scrollXStore']) => void; setScrollYStore: (option: ITableRef['scrollYStore']) => void; computeVirtualX: (sl: number, tableWidth: number) => { toVisibleIndex: number; visibleSize: number; }; computeVirtualY: (st: number, rowHeight: number) => { toVisibleIndex: number; }; setFieldAuth: (key: string, value: IFieldAuthItem) => void; setResizeState: (option: ITableRef['resizeState']) => void; setSummaries: (option: ITableRef['summaries']) => void; setPermission: <T extends ITableState['permission']>(option: T | ((prev: T) => T)) => void; setRecordsMap: (key: IRowKey, value: IRecord) => void; resetTableScroll: () => void; clearElementStore: () => void; clearRecordsMap: () => void; }; declare const useTableCore: <T extends ITableProps>(props: T, extra: IExtra) => { initialTable: () => void; checkDataIndex: () => void; createTableFullData: (list: IRecord[]) => void; getTableData: () => Promise<void>; handleTableData: (dataList: IRecord[]) => void; createWebPageData: () => IRecord<any>[]; createTableData: (list: IRecord[]) => void; createGroupData: (list: IRecord[]) => IRecord<any>[]; setSelectionKeysEffect: (selectedKeys: IRowKey[]) => void; doFieldValidate: (rules: IRule[], val: unknown, rowKey: IRowKey, columnKey: string, columnTitle: string) => void; getTableLog: () => { required: IValidItem[]; validate: IValidItem[]; inserted: IRecord<any>[]; updated: IRecord<any>[]; removed: IRecord<any>[]; }; dataChange: () => void; tableChange: () => void; toLastPage: () => void; toFirstPage: () => void; getPageCount: () => number; pagerChangeHandle: ({ current, pageSize }: IPagination) => void; triggerScrollXEvent: (sl: number) => void; triggerScrollYEvent: (st: number) => void; scrollBottomDebouncer: (ev: Event) => void; getTableDataForDepd: () => Ref<IRecord<any>[], IRecord<any>[]>; clearTableSorter: () => void; clearTableFilter: () => void; clearSuperFilters: () => void; clearRowSelection: () => void; clearRowHighlight: () => void; clearTableLog: () => void; destroy: () => void; }; export default useTableCore;