tdesign-vue-next
Version:
TDesign Component for vue-next
241 lines (240 loc) • 7.45 kB
TypeScript
import { PropType, Ref, CSSProperties } from 'vue';
import { BaseTableCol, TableRowData, TdBaseTableProps } from './type';
import { RowAndColFixedPosition, ThRowspanAndColspan } from './interface';
import { AttachNode } from '../common';
export interface TheadProps {
classPrefix: string;
ellipsisOverlayClassName: string;
isFixedHeader: boolean;
maxHeight?: TdBaseTableProps['maxHeight'];
height?: TdBaseTableProps['height'];
rowAndColFixedPosition: RowAndColFixedPosition;
thWidthList?: {
[colKey: string]: number;
};
bordered?: boolean;
isMultipleHeader?: boolean;
thDraggable?: boolean;
spansAndLeafNodes?: {
rowspanAndColspanMap: ThRowspanAndColspan;
leafColumns: BaseTableCol<TableRowData>[];
};
thList: BaseTableCol<TableRowData>[][];
columnResizeParams: {
resizeLineRef: Ref<HTMLDivElement>;
resizeLineStyle: CSSProperties;
onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
};
resizable?: Boolean;
attach?: AttachNode;
showColumnShadow?: {
left: boolean;
right: boolean;
};
}
declare const _default: import("vue").DefineComponent<{
classPrefix: StringConstructor;
ellipsisOverlayClassName: StringConstructor;
isFixedHeader: BooleanConstructor;
thDraggable: BooleanConstructor;
maxHeight: PropType<TheadProps["maxHeight"]>;
height: PropType<TheadProps["height"]>;
rowAndColFixedPosition: PropType<TheadProps["rowAndColFixedPosition"]>;
thWidthList: PropType<TheadProps["thWidthList"]>;
bordered: BooleanConstructor;
isMultipleHeader: BooleanConstructor;
resizable: BooleanConstructor;
attach: PropType<TheadProps["attach"]>;
spansAndLeafNodes: PropType<TheadProps["spansAndLeafNodes"]>;
thList: PropType<TheadProps["thList"]>;
columnResizeParams: PropType<TheadProps["columnResizeParams"]>;
showColumnShadow: PropType<TheadProps["showColumnShadow"]>;
}, {
colspanSkipMap: import("vue").ComputedRef<{
[key: string]: boolean;
}>;
theadClasses: import("vue").ComputedRef<(string | {
[x: string]: boolean;
})[]>;
theadRef: Ref<HTMLHeadElement>;
slots: Readonly<{
[name: string]: import("vue").Slot<any>;
}>;
getTableNode: (thead: HTMLElement) => HTMLElement;
classPrefix: string;
tableBaseClass: {
table: string;
columnResizableTable: string;
overflowVisible: string;
body: string;
content: string;
topContent: string;
bottomContent: string;
paginationWrap: string;
tdLastRow: string;
tdFirstCol: string;
thCellInner: string;
tableRowEdit: string;
cellEditable: string;
cellEditWrap: string;
bordered: string;
striped: string;
hover: string;
loading: string;
rowspanAndColspan: string;
empty: string;
emptyRow: string;
headerFixed: string;
columnFixed: string;
widthOverflow: string;
multipleHeader: string;
footerAffixed: string;
horizontalBarAffixed: string;
affixedHeader: string;
affixedHeaderElm: string;
affixedFooterElm: string;
affixedFooterWrap: string;
scrollbarDivider: string;
fullHeight: string;
resizeLine: string;
obviousScrollbar: string;
affixedHeaderWrap: string;
};
tdAlignClasses: {
left: string;
right: string;
center: string;
};
tableHeaderClasses: {
header: string;
thBordered: string;
fixed: string;
multipleHeader: string;
};
tableFooterClasses: {
footer: string;
fixed: string;
};
tableAlignClasses: {
top: string;
middle: string;
bottom: string;
};
tableRowFixedClasses: {
top: string;
bottom: string;
firstBottom: string;
withoutBorderBottom: string;
};
tableColFixedClasses: {
left: string;
right: string;
lastLeft: string;
firstRight: string;
leftShadow: string;
rightShadow: string;
};
tableLayoutClasses: {
auto: string;
fixed: string;
};
tdEllipsisClass: string;
tableFullRowClasses: {
base: string;
innerFullRow: string;
innerFullElement: string;
firstFullRow: string;
lastFullRow: string;
};
tableExpandClasses: {
iconBox: string;
iconCell: string;
rowExpanded: string;
rowFolded: string;
row: string;
rowInner: string;
expanded: string;
collapsed: string;
};
tableSortClasses: {
sortable: string;
sortColumn: string;
title: string;
trigger: string;
doubleIcon: string;
sortIcon: string;
iconDirection: {
asc: string;
desc: string;
};
iconActive: string;
iconDefault: string;
};
tableSelectedClasses: {
selected: string;
disabled: string;
checkCell: string;
};
tableFilterClasses: {
filterable: string;
popup: string;
icon: string;
popupContent: string;
result: string;
inner: string;
bottomButtons: string;
contentInner: string;
iconWrap: string;
};
asyncLoadingClass: string;
isFocusClass: string;
isLoadingClass: string;
isLoadMoreClass: string;
tableTreeClasses: {
col: string;
inlineCol: string;
icon: string;
leafNode: string;
};
tableDraggableClasses: {
rowDraggable: string;
rowHandlerDraggable: string;
colDraggable: string;
handle: string;
ghost: string;
chosen: string;
dragging: string;
dragSortTh: string;
};
virtualScrollClasses: {
cursor: string;
header: string;
};
positiveRotate90: string;
negativeRotate180: string;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
classPrefix: StringConstructor;
ellipsisOverlayClassName: StringConstructor;
isFixedHeader: BooleanConstructor;
thDraggable: BooleanConstructor;
maxHeight: PropType<TheadProps["maxHeight"]>;
height: PropType<TheadProps["height"]>;
rowAndColFixedPosition: PropType<TheadProps["rowAndColFixedPosition"]>;
thWidthList: PropType<TheadProps["thWidthList"]>;
bordered: BooleanConstructor;
isMultipleHeader: BooleanConstructor;
resizable: BooleanConstructor;
attach: PropType<TheadProps["attach"]>;
spansAndLeafNodes: PropType<TheadProps["spansAndLeafNodes"]>;
thList: PropType<TheadProps["thList"]>;
columnResizeParams: PropType<TheadProps["columnResizeParams"]>;
showColumnShadow: PropType<TheadProps["showColumnShadow"]>;
}>>, {
bordered: boolean;
resizable: boolean;
thDraggable: boolean;
isFixedHeader: boolean;
isMultipleHeader: boolean;
}, {}>;
export default _default;