yuang-framework-ui-pc
Version:
yuang-framework-ui-pc Library
393 lines (391 loc) • 18.7 kB
TypeScript
import { Ref } from 'vue';
import { ElTableV2Instance, ElTableV2Props } from '../ele-app/el';
import { DataKey, DataItem, Column, Filter, OrderValue } from '../ele-data-table/types';
import { BodyColumn, BodyColumns, HeaderRows, CellFilterChangeParams, SortBy, ScrollStrategy, ScrollPos, ColSize, VirtualRow } from './types';
declare const _default: import('vue').DefineComponent<{
rowHeight: NumberConstructor;
stripe: {
type: BooleanConstructor;
default: null;
};
border: {
type: BooleanConstructor;
default: null;
};
rowKey: {
type: import('vue').PropType<import('../ele-data-table/types').RowKey>;
required: boolean;
};
columns: {
type: import('vue').PropType<import('../ele-data-table/types').Columns>;
required: boolean;
};
pageIndex: NumberConstructor;
errorText: StringConstructor;
headerEllipsis: {
type: BooleanConstructor;
default: boolean;
};
slotNormalize: {
type: BooleanConstructor;
default: boolean;
};
sticky: BooleanConstructor;
bottomLine: {
type: BooleanConstructor;
default: boolean;
};
emptyProps: {
type: import('vue').PropType<import('../ele-data-table/types').TableEmptyProps>;
default: () => null;
};
rowClickChecked: import('vue').PropType<import('../ele-data-table/types').RowClickChecked>;
reserveCurrent: BooleanConstructor;
selectedRowKeys: import('vue').PropType<DataKey[]>;
cacheData: import('vue').PropType<DataItem[]>;
size: {
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
fit: {
type: BooleanConstructor;
default: boolean;
};
width: (NumberConstructor | StringConstructor)[];
maxHeight: (NumberConstructor | StringConstructor)[];
lazy: BooleanConstructor;
className: {
type: StringConstructor;
default: string;
};
height: (NumberConstructor | StringConstructor)[];
data: {
type: import('vue').PropType<any[]>;
default: () => never[];
};
showHeader: {
type: BooleanConstructor;
default: boolean;
};
showSummary: BooleanConstructor;
sumText: StringConstructor;
summaryMethod: import('vue').PropType<import('element-plus').SummaryMethod<any> | undefined>;
rowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
rowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
cellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
cellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
headerRowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
headerRowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
headerCellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
headerCellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
highlightCurrentRow: BooleanConstructor;
currentRowKey: (NumberConstructor | StringConstructor)[];
emptyText: StringConstructor;
expandRowKeys: import('vue').PropType<string[] | undefined>;
defaultExpandAll: BooleanConstructor;
defaultSort: import('vue').PropType<import('element-plus').Sort | undefined>;
tooltipEffect: StringConstructor;
tooltipOptions: import('vue').PropType<Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
spanMethod: import('vue').PropType<((data: {
row: any;
rowIndex: number;
column: import('element-plus').TableColumnCtx<any>;
columnIndex: number;
}) => number[] | {
rowspan: number;
colspan: number;
} | undefined) | undefined>;
selectOnIndeterminate: {
type: BooleanConstructor;
default: boolean;
};
indent: {
type: NumberConstructor;
default: number;
};
treeProps: {
type: import('vue').PropType<import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined>;
default: () => {
hasChildren: string;
children: string;
checkStrictly: boolean;
};
};
load: import('vue').PropType<((row: any, treeNode: import('element-plus').TreeNode, resolve: (data: any[]) => void) => void) | undefined>;
tableLayout: {
type: import('vue').PropType<"auto" | "fixed">;
default: string;
};
scrollbarAlwaysOn: BooleanConstructor;
flexible: BooleanConstructor;
showOverflowTooltip: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
appendFilterPanelTo: StringConstructor;
scrollbarTabindex: {
type: (NumberConstructor | StringConstructor)[];
default: undefined;
};
}, {
ownSlots: string[];
rootRef: Ref<HTMLElement | null>;
tableRef: Ref<ElTableV2Instance>;
tableKey: Ref<number>;
wrapWidth: Ref<number>;
headerRows: Ref<HeaderRows>;
bodyCols: Ref<BodyColumns>;
headerRowSizes: Ref<ColSize[][]>;
bodyColSizes: Ref<ColSize[]>;
colsSumWidth: Ref<number>;
tableWidth: Ref<number>;
tableData: Ref<VirtualRow[]>;
isCheckAll: Ref<boolean>;
isIndeterminate: import('vue').ComputedRef<boolean>;
checkedRowKeys: Ref<Set<DataKey>>;
expandedRowKeys: Ref<DataKey[]>;
sortBy: Ref<SortBy | undefined>;
filtered: Filter;
tableTooltipProps: Partial<import('../ele-tooltip/props').TooltipProps>;
tableExpandCol: import('vue').ComputedRef<BodyColumn | undefined>;
hasExpandCol: import('vue').ComputedRef<boolean>;
tableExpandColumnKey: import('vue').ComputedRef<string | undefined>;
tableRowHeight: import('vue').ComputedRef<number>;
autoRowHeight: import('vue').ComputedRef<boolean>;
hasFooter: import('vue').ComputedRef<boolean>;
tableProps: import('vue').ComputedRef<Required<ElTableV2Props>>;
isPingLeft: import('vue').ComputedRef<boolean>;
isPingRight: import('vue').ComputedRef<boolean>;
tableSumText: import('vue').ComputedRef<string>;
tableEmptyText: import('vue').ComputedRef<string>;
isLayoutFixedHead: import('vue').ComputedRef<boolean | undefined>;
isLayoutMaximized: import('vue').ComputedRef<boolean | undefined>;
handleTableFilterChange: (params: CellFilterChangeParams) => void;
handleCellCheckedChange: (row: VirtualRow, checked: boolean) => void;
handleCellExpandChange: (row: VirtualRow, expanded: boolean, children?: DataItem[]) => void;
handleCellClick: (row: VirtualRow, col: Column, e: MouseEvent) => void;
handleCellDblclick: (row: VirtualRow, col: Column, e: MouseEvent) => void;
handleCellContextmenu: (row: VirtualRow, col: Column, e: MouseEvent) => void;
handleCellMouseenter: (row: VirtualRow, col: Column, e: MouseEvent) => void;
handleCellMouseleave: (row: VirtualRow, col: Column, e: MouseEvent) => void;
handleHeaderCellClick: (col: Column | undefined, e: MouseEvent) => void;
handleHeaderCellContextmenu: (col: Column, e: MouseEvent) => void;
handleHeaderCellMouseenter: () => void;
handleFooterCellMouseenter: (e: MouseEvent) => void;
handleExpandCellMouseenter: () => void;
handleTableMouseleave: () => void;
handleTableScroll: (option: ScrollPos) => void;
updateWrapSize: () => void;
updateTableData: () => void;
updateSelectedAndChecked: () => void;
setSelectedRows: (rows?: DataItem[]) => void;
setSelectedRowKeys: (keys?: DataKey[]) => void;
toggleRowExpansionAll: (expanded?: boolean) => void;
clearSelection: () => void;
getSelectionRows: () => DataItem[];
toggleRowSelection: (row: DataItem, selected?: boolean) => void;
toggleAllSelection: () => void;
toggleRowExpansion: (row: VirtualRow, expanded?: boolean) => void;
setCurrentRow: (row?: DataItem | null) => void;
setCurrentRowKey: (key?: DataKey | null) => void;
getCurrentRow: () => DataItem | undefined;
clearSort: () => void;
clearFilter: (columnKeys?: string[]) => void;
doLayout: (force?: boolean) => void;
sort: (prop: string, order: OrderValue) => void;
scrollTo: (options: number | ScrollToOptions, yCoord?: number) => void;
setScrollTop: (top?: number) => void;
setScrollLeft: (left?: number) => void;
scrollToRow: (row: number, strategy: ScrollStrategy) => void;
hideTooltip: () => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
select: (_selection: DataItem[], _row: DataItem) => boolean;
selectAll: (_selection: DataItem[]) => boolean;
selectionChange: (_selection: DataItem[]) => boolean;
cellMouseEnter: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellMouseLeave: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellClick: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellDblclick: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellContextmenu: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
rowClick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
rowContextmenu: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
rowDblclick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
headerClick: (_column: Column, _e: MouseEvent) => boolean;
headerContextmenu: (_column: Column, _e: MouseEvent) => boolean;
sortChange: (_sorter: import('../ele-data-table/types').Sorter) => boolean;
filterChange: (_filter: Filter) => boolean;
currentChange: (_current?: DataItem | null, _old?: DataItem | null) => boolean;
headerDragend: (_width: number, _old: number, _column: Column, _e: MouseEvent) => boolean;
expandChange: (_row: DataItem, _expanded: boolean) => boolean;
'update:currentRowKey': (_currentRowKey?: DataKey) => boolean;
'update:selectedRowKeys': (_selectedRowKeys?: DataKey[]) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
rowHeight: NumberConstructor;
stripe: {
type: BooleanConstructor;
default: null;
};
border: {
type: BooleanConstructor;
default: null;
};
rowKey: {
type: import('vue').PropType<import('../ele-data-table/types').RowKey>;
required: boolean;
};
columns: {
type: import('vue').PropType<import('../ele-data-table/types').Columns>;
required: boolean;
};
pageIndex: NumberConstructor;
errorText: StringConstructor;
headerEllipsis: {
type: BooleanConstructor;
default: boolean;
};
slotNormalize: {
type: BooleanConstructor;
default: boolean;
};
sticky: BooleanConstructor;
bottomLine: {
type: BooleanConstructor;
default: boolean;
};
emptyProps: {
type: import('vue').PropType<import('../ele-data-table/types').TableEmptyProps>;
default: () => null;
};
rowClickChecked: import('vue').PropType<import('../ele-data-table/types').RowClickChecked>;
reserveCurrent: BooleanConstructor;
selectedRowKeys: import('vue').PropType<DataKey[]>;
cacheData: import('vue').PropType<DataItem[]>;
size: {
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
fit: {
type: BooleanConstructor;
default: boolean;
};
width: (NumberConstructor | StringConstructor)[];
maxHeight: (NumberConstructor | StringConstructor)[];
lazy: BooleanConstructor;
className: {
type: StringConstructor;
default: string;
};
height: (NumberConstructor | StringConstructor)[];
data: {
type: import('vue').PropType<any[]>;
default: () => never[];
};
showHeader: {
type: BooleanConstructor;
default: boolean;
};
showSummary: BooleanConstructor;
sumText: StringConstructor;
summaryMethod: import('vue').PropType<import('element-plus').SummaryMethod<any> | undefined>;
rowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
rowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
cellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
cellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
headerRowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
headerRowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
headerCellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
headerCellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
highlightCurrentRow: BooleanConstructor;
currentRowKey: (NumberConstructor | StringConstructor)[];
emptyText: StringConstructor;
expandRowKeys: import('vue').PropType<string[] | undefined>;
defaultExpandAll: BooleanConstructor;
defaultSort: import('vue').PropType<import('element-plus').Sort | undefined>;
tooltipEffect: StringConstructor;
tooltipOptions: import('vue').PropType<Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
spanMethod: import('vue').PropType<((data: {
row: any;
rowIndex: number;
column: import('element-plus').TableColumnCtx<any>;
columnIndex: number;
}) => number[] | {
rowspan: number;
colspan: number;
} | undefined) | undefined>;
selectOnIndeterminate: {
type: BooleanConstructor;
default: boolean;
};
indent: {
type: NumberConstructor;
default: number;
};
treeProps: {
type: import('vue').PropType<import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined>;
default: () => {
hasChildren: string;
children: string;
checkStrictly: boolean;
};
};
load: import('vue').PropType<((row: any, treeNode: import('element-plus').TreeNode, resolve: (data: any[]) => void) => void) | undefined>;
tableLayout: {
type: import('vue').PropType<"auto" | "fixed">;
default: string;
};
scrollbarAlwaysOn: BooleanConstructor;
flexible: BooleanConstructor;
showOverflowTooltip: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
appendFilterPanelTo: StringConstructor;
scrollbarTabindex: {
type: (NumberConstructor | StringConstructor)[];
default: undefined;
};
}>> & {
onSelect?: ((_selection: DataItem[], _row: DataItem) => any) | undefined;
onExpandChange?: ((_row: DataItem, _expanded: boolean) => any) | undefined;
onFilterChange?: ((_filter: Filter) => any) | undefined;
onSelectAll?: ((_selection: DataItem[]) => any) | undefined;
onSelectionChange?: ((_selection: DataItem[]) => any) | undefined;
onCellMouseEnter?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
onCellMouseLeave?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
onCellClick?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
onCellDblclick?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
onCellContextmenu?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
onRowClick?: ((_row: DataItem, _column: Column, _e: MouseEvent) => any) | undefined;
onRowContextmenu?: ((_row: DataItem, _column: Column, _e: MouseEvent) => any) | undefined;
onRowDblclick?: ((_row: DataItem, _column: Column, _e: MouseEvent) => any) | undefined;
onHeaderClick?: ((_column: Column, _e: MouseEvent) => any) | undefined;
onHeaderContextmenu?: ((_column: Column, _e: MouseEvent) => any) | undefined;
onSortChange?: ((_sorter: import('../ele-data-table/types').Sorter) => any) | undefined;
onCurrentChange?: ((_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => any) | undefined;
onHeaderDragend?: ((_width: number, _old: number, _column: Column, _e: MouseEvent) => any) | undefined;
"onUpdate:currentRowKey"?: ((_currentRowKey?: DataKey | undefined) => any) | undefined;
"onUpdate:selectedRowKeys"?: ((_selectedRowKeys?: DataKey[] | undefined) => any) | undefined;
}, {
fit: boolean;
lazy: boolean;
className: string;
data: any[];
stripe: boolean;
border: boolean;
showHeader: boolean;
showSummary: boolean;
highlightCurrentRow: boolean;
defaultExpandAll: boolean;
selectOnIndeterminate: boolean;
indent: number;
treeProps: import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined;
tableLayout: "auto" | "fixed";
scrollbarAlwaysOn: boolean;
flexible: boolean;
scrollbarTabindex: string | number;
sticky: boolean;
headerEllipsis: boolean;
slotNormalize: boolean;
bottomLine: boolean;
emptyProps: import('../ele-data-table/types').TableEmptyProps;
reserveCurrent: boolean;
}, {}>;
export default _default;