UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

117 lines (116 loc) 6.6 kB
import { ClassType, LocaleConfig, StyleType } from '@vexip-ui/config'; import { TooltipTheme } from '../tooltip'; import { ColumnGroupWithKey, ColumnWithKey, Data, ExpandRenderFn, Key, ParsedFilterOptions, ParsedTableSorterOptions, StoreOptions, StoreState, TableCellPropFn, TableCellSpanFn, TableColResizeType, TableColumnRawOptions, TableExpandColumn, TableFootPropFn, TableHeadPropFn, TableKeyConfig, TableRowPropFn, TableRowState, TableSummaryData, TableSummaryOptions } from './symbol'; export declare function useStore(options: StoreOptions): Readonly<{ state: Readonly<StoreState>; getters: Readonly<{ filteredData: TableRowState[]; sortedData: TableRowState[]; processedData: TableRowState[]; visibleKeys: Set<Key>; disableCheckRows: Set<Key>; disableExpandRows: Set<Key>; disableDragRows: Set<Key>; usingTree: boolean; hasDragColumn: boolean; rowDragging: boolean; totalWidths: number[]; normalWidths: number[]; leftFixedWidths: number[]; rightFixedWidths: number[]; expandColumn: TableExpandColumn<any, string | number> | undefined; summaryData: Map<Key, TableSummaryData>; topFixedHeights: number[]; bottomFixedHeights: number[]; indentedColumn: ColumnWithKey<any, string | number> | undefined; hasFixedColumn: boolean; }>; mutations: Readonly<{ setColumns: (columns: TableColumnRawOptions[]) => Promise<void>; setSummaries: (summaries: TableSummaryOptions<any, string | number>[]) => Promise<void>; setData: (data: any[]) => Promise<void>; updateTotalHeight: () => Promise<void>; isGroupColumn: (column: any) => column is ColumnGroupWithKey; buildSummaryKey: (key: Key) => string | symbol; setColumnProp: (key: Key, prop: string, value: any) => void; setSummaryProp: (key: Key, prop: string, value: any) => void; setDataKey: (field: string) => void; setCurrentPage: (currentPage: number) => void; setPageSize: (pageSize: number) => void; setRowClass: (rowClass: ClassType | TableRowPropFn<ClassType>) => void; setRowStyle: (rowStyle: StyleType | TableRowPropFn<StyleType>) => void; setRowAttrs: (rowAttrs: Record<string, any> | TableRowPropFn<Record<string, any>>) => void; setCellClass: (cellClass: ClassType | TableCellPropFn<ClassType>) => void; setCellStyle: (cellStyle: StyleType | TableCellPropFn<StyleType>) => void; setCellAttrs: (cellAttrs: Record<string, any> | TableCellPropFn<Record<string, any>>) => void; setHeadClass: (headClass: ClassType | TableHeadPropFn<ClassType>) => void; setHeadStyle: (headStyle: StyleType | TableHeadPropFn<StyleType>) => void; setHeadAttrs: (headAttrs: Record<string, any> | TableHeadPropFn<Record<string, any>>) => void; setFootClass: (footClass: ClassType | TableFootPropFn<ClassType>) => void; setFootStyle: (footStyle: StyleType | TableFootPropFn<StyleType>) => void; setFootAttrs: (footAttrs: Record<string, any> | TableFootPropFn<Record<string, any>>) => void; setTableWidth: (width: number) => void; setRowHeight: (height: number) => void; setRowMinHeight: (height: number) => void; setCellHeight: (rowKey: Key, columnKey: Key, height: number) => void; setVirtual: (virtual: boolean) => void; setRowDraggable: (draggable: boolean) => void; setBodyYScroll: (scroll: number) => void; setBodyXScroll: (scroll: number) => void; setBorder: (able: boolean) => void; setStripe: (able: boolean) => void; setHighlight: (able: boolean) => void; setRowProp: (key: Key, prop: Exclude<keyof TableRowState, "key">, value: any) => void; setLocale: (locale: LocaleConfig["table"]) => void; setTooltipTheme: (theme: TooltipTheme) => void; setTooltipWidth: (theme: number | string) => void; setSingleSorter: (able: boolean) => void; setSingleFilter: (able: boolean) => void; setDragging: (dragging: boolean) => void; setKeyConfig: (keyConfig: Required<TableKeyConfig>) => void; setDisabledTree: (disabled: boolean) => void; setNoCascaded: (noCascaded: boolean) => void; setColResizable: (resizable: boolean | TableColResizeType) => void; setCustomSorter: (able: boolean) => void; setCustomFilter: (able: boolean) => void; setColumnResizing: (resizing: boolean) => void; setResizeLeft: (left: number) => void; setExpandRenderer: (renderer: ExpandRenderFn | null) => void; setCellSpan: (spanFn: TableCellSpanFn | null) => void; setSidePadding: (padding: number | number[]) => void; setBorderWidth: (width: number) => void; setDataFilter: (filter: (data: Data) => boolean) => void; setEllipsis: (ellipsis: boolean) => void; setLocked: (locked: boolean) => void; setBarScrolling: (scrolling: boolean) => void; setHoveredRowKey: (key: Key | null) => void; handleSort: (key: Key, type: ParsedTableSorterOptions["type"]) => void; clearSort: () => void; handleFilter: (key: Key, active: ParsedFilterOptions["active"]) => void; clearFilter: () => void; toggleFilterItemActive: (options: { key: Key; value: number | string | null; active?: boolean; disableOthers?: boolean; }) => void; refreshRowIndex: () => void; handleCheck: (key: Key, checked: boolean, single?: boolean) => void; handleCheckAll: () => void; clearCheckAll: (includeDisabled?: boolean) => void; setRenderRows: (start: number, end: number, force?: boolean) => void; handleExpand: (key: Key, expanded: boolean) => void; handleDrag: (key: Key, dragging: boolean) => void; collectUnderRows: (row: TableRowState, result?: TableRowState[]) => TableRowState[]; setTreeExpanded: (key: Key, expanded: boolean) => void; getParentRow: (key: Key) => TableRowState | null; handleColumnResize: (keys: Key[], newWidth: number) => void; getCurrentData: () => any[]; createMinRowState: (key: Key) => TableRowState; flatTreeRows: () => void; refreshRowDepth: () => void; triggerHeightChange: () => void; queryRow: (keyOrData: Key | Record<any, any>) => TableRowState | undefined; }>; }>; export type TableStore = ReturnType<typeof useStore>;