element-plus
Version:
A Component Library for Vue 3
81 lines (80 loc) • 3.49 kB
TypeScript
import type { Ref } from 'vue';
import type { TableColumnCtx } from '../table-column/defaults';
import type { DefaultRow, TableSortOrder } from '../table/defaults';
import type { StoreFilter } from '.';
declare function useWatcher<T extends DefaultRow>(): {
assertRowKey: () => void;
updateColumns: () => void;
scheduleLayout: (needUpdateColumns?: boolean, immediate?: boolean) => void;
isSelected: (row: T) => boolean;
clearSelection: () => void;
cleanSelection: () => void;
getSelectionRows: () => T[];
toggleRowSelection: (row: T, selected?: boolean, emitChange?: boolean, ignoreSelectable?: boolean) => void;
_toggleAllSelection: () => void;
toggleAllSelection: (() => void) | null;
updateAllSelected: () => void;
updateFilters: (column: TableColumnCtx<T>, values: string[]) => Record<string, string[]>;
updateCurrentRow: (_currentRow: T) => void;
updateSort: (column: TableColumnCtx<T> | null, prop: string | null, order: TableSortOrder | null) => void;
execFilter: () => void;
execSort: () => void;
execQuery: (ignore?: {
filter: boolean;
} | undefined) => void;
clearFilter: (columnKeys?: string[] | string) => void;
clearSort: () => void;
toggleRowExpansion: (row: T, expanded?: boolean) => void;
setExpandRowKeysAdapter: (val: (string | number)[]) => void;
setCurrentRowKey: (key: string) => void;
toggleRowExpansionAdapter: (row: T, expanded?: boolean) => void;
isRowExpanded: (row: T) => boolean;
updateExpandRows: () => void;
updateCurrentRowData: () => void;
loadOrToggle: (row: T) => void;
updateTreeData: (ifChangeExpandRowKeys?: boolean, ifExpandAll?: boolean) => void;
updateKeyChildren: (key: string, data: T[]) => void;
states: {
_currentRowKey: Ref<string | null>;
currentRow: Ref<T | null>;
expandRowKeys: Ref<(string | number)[]>;
treeData: Ref<Record<string, import("./tree").TreeData>>;
indent: Ref<number>;
lazy: Ref<boolean>;
lazyTreeNodeMap: Ref<Record<string, T[]>>;
lazyColumnIdentifier: Ref<string>;
childrenColumnName: Ref<string>;
checkStrictly: Ref<boolean>;
expandRows: Ref<T[]>;
defaultExpandAll: Ref<boolean>;
tableSize: Ref<any>;
rowKey: Ref<string | null>;
data: Ref<T[]>;
_data: Ref<T[]>;
isComplex: Ref<boolean>;
_columns: Ref<TableColumnCtx<T>[]>;
originColumns: Ref<TableColumnCtx<T>[]>;
columns: Ref<TableColumnCtx<T>[]>;
fixedColumns: Ref<TableColumnCtx<T>[]>;
rightFixedColumns: Ref<TableColumnCtx<T>[]>;
leafColumns: Ref<TableColumnCtx<T>[]>;
fixedLeafColumns: Ref<TableColumnCtx<T>[]>;
rightFixedLeafColumns: Ref<TableColumnCtx<T>[]>;
updateOrderFns: (() => void)[];
leafColumnsLength: Ref<number>;
fixedLeafColumnsLength: Ref<number>;
rightFixedLeafColumnsLength: Ref<number>;
isAllSelected: Ref<boolean>;
selection: Ref<T[]>;
reserveSelection: Ref<boolean>;
selectOnIndeterminate: Ref<boolean>;
selectable: Ref<((row: T, index: number) => boolean) | null>;
filters: Ref<StoreFilter>;
filteredData: Ref<T[] | null>;
sortingColumn: Ref<TableColumnCtx<T> | null>;
sortProp: Ref<string | null>;
sortOrder: Ref<string | number | null>;
hoverRow: Ref<T | null>;
};
};
export default useWatcher;