UNPKG

@jiaozhiye/qm-design-vue

Version:

A Component Library for Vue3.0

92 lines (91 loc) 4.16 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>; tableColumns: ComputedRef<IColumn[]>; flattenColumns: ComputedRef<IColumn[]>; pagination: Ref<IPagination>; layout: Ref<ITableState['layout']>; filters: Ref<IFilter>; sorter: Ref<ISorter>; superFilters: Ref<ISuperFilter[]>; fetchParams: ComputedRef<IFetchParams>; selectionKeys: Ref<IRowKey[]>; rowExpandedKeys: Ref<IRowKey[]>; highlightKey: Ref<IRowKey>; summationColumns: ComputedRef<IColumn[]>; shouldUpdateHeight: ComputedRef<boolean>; isFetch: ComputedRef<boolean>; isWebPagination: ComputedRef<boolean>; isScrollPagination: ComputedRef<boolean>; isServiceSummation: ComputedRef<boolean>; isGroupSubtotal: ComputedRef<boolean>; doLayout: () => void; setTableFlatData: (records: IRecord[]) => void; setTableFullData: (records: IRecord[]) => void; setTableOriginData: (records: IRecord[]) => void; setTableDataMaps: (records: IRecord[]) => void; setPagination: (pagination: IPagination) => void; setSpinning: (value: boolean) => void; setSorter: (sorter: ITableState['sorter'], forceUpdate?: boolean) => void; setFilters: (sorter: ITableState['filters'], forceUpdate?: boolean) => 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; setPingLeft: (value: boolean) => void; setPingRight: (value: boolean) => void; 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; setUnMounted: (value: boolean) => void; resetTableScroll: () => void; createTableFocus: () => void; clearElementStore: () => void; }; declare const useTableCore: <T extends ITableProps>(props: T, extra: IExtra) => { initialTable: () => void; checkDataIndex: () => void; createTableFullData: (list: IRecord[]) => void; createTableData: (list: IRecord[], fn?: ((list: IRecord[]) => IRecord[]) | undefined) => IRecord<any>[]; getTableData: () => Promise<void>; createWebPageData: () => IRecord<any>[]; createGroupData: (list: IRecord[]) => IRecord<any>[]; createAllExpandedKeys: () => (string | number)[]; 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 }: Omit<IPagination, 'total'>) => void; scrollBottomDebouncer: (ev: Event) => void; clearTableSorter: () => void; clearTableFilter: () => void; clearSuperFilters: () => void; clearRowSelection: () => void; clearRowHighlight: () => void; clearTableLog: () => void; destroy: () => void; }; export default useTableCore;