xdesign-vue-next
Version:
XDesign Component for vue-next
446 lines (445 loc) • 18.5 kB
TypeScript
import { PropType } from 'vue';
import { BaseTableProps, RowAndColFixedPosition } from './interface';
import { TdBaseTableProps } from './type';
import { VirtualScrollConfig } from '../hooks/useVirtualScrollNew';
export declare const ROW_AND_TD_LISTENERS: string[];
export interface TableBodyProps extends BaseTableProps {
classPrefix: string;
ellipsisOverlayClassName: string;
rowAndColFixedPosition: RowAndColFixedPosition;
showColumnShadow: {
left: boolean;
right: boolean;
};
tableElm: any;
tableWidth: number;
isWidthOverflow: boolean;
virtualConfig: VirtualScrollConfig;
tableContentElm: any;
cellEmptyContent: TdBaseTableProps['cellEmptyContent'];
handleRowMounted: (rowData: any) => void;
}
export declare const extendTableProps: string[];
declare const _default: import("vue").DefineComponent<{
allowResizeColumnWidth?: {
type: BooleanConstructor;
default: any;
};
attach?: {
type: PropType<import("../common").AttachNode>;
};
bordered?: BooleanConstructor;
bottomContent?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
cellEmptyContent?: {
type: PropType<string | ((h: typeof import("vue").h, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("../common").SlotReturnValue)>;
};
columns: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]> | {
type: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]>;
default: () => import("./type").BaseTableCol<import("./type").TableRowData>[];
};
data: PropType<import("./type").TableRowData[]> | {
type: PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
disableDataPage?: BooleanConstructor;
empty?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
default: string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
};
firstFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
fixedRows?: {
type: PropType<number[]>;
};
footData?: {
type: PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
footerAffixProps?: {
type: PropType<Partial<import("..").TdAffixProps>>;
};
footerAffixedBottom?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean | Partial<import("..").TdAffixProps>;
};
footerSummary?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
headerAffixProps?: {
type: PropType<Partial<import("..").TdAffixProps>>;
};
headerAffixedTop?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean | Partial<import("..").TdAffixProps>;
};
height?: {
type: PropType<string | number>;
};
horizontalScrollAffixedBottom?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
};
hover?: BooleanConstructor;
lastFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
lazyLoad?: BooleanConstructor;
loading?: {
type: PropType<boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
default: boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
};
loadingProps?: {
type: PropType<Partial<import("..").TdLoadingProps>>;
};
maxHeight?: {
type: PropType<string | number>;
};
pagination?: {
type: PropType<import("..").TdPaginationProps>;
};
paginationAffixedBottom?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
};
resizable?: BooleanConstructor;
rowAttributes?: {
type: PropType<import("./type").TableRowAttributes<import("./type").TableRowData>>;
};
rowClassName?: {
type: PropType<import("../common").ClassName | ((params: import("./type").RowClassNameParams<import("./type").TableRowData>) => import("../common").ClassName)>;
};
rowKey?: {
type: StringConstructor;
default: string;
required: boolean;
};
rowspanAndColspan?: {
type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
rowspanAndColspanInFooter?: {
type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
scroll?: {
type: PropType<import("../common").TScroll>;
};
showHeader?: {
type: BooleanConstructor;
default: boolean;
};
size?: {
type: PropType<import("../common").SizeEnum>;
default: import("../common").SizeEnum;
validator(val: import("../common").SizeEnum): boolean;
};
stripe?: BooleanConstructor;
tableContentWidth?: {
type: StringConstructor;
default: string;
};
tableLayout?: {
type: PropType<"fixed" | "auto">;
default: "fixed" | "auto";
validator(val: "fixed" | "auto"): boolean;
};
topContent?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
verticalAlign?: {
type: PropType<"top" | "bottom" | "middle">;
default: "top" | "bottom" | "middle";
validator(val: "top" | "bottom" | "middle"): boolean;
};
onCellClick?: PropType<(context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void>;
onColumnResizeChange?: PropType<(context: {
columnsWidth: {
[colKey: string]: number;
};
}) => void>;
onPageChange?: PropType<(pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void>;
onRowClick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowDblclick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMousedown?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseenter?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseleave?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseover?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseup?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onScroll?: PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollX?: PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollY?: PropType<(params: {
e: WheelEvent;
}) => void>;
classPrefix: StringConstructor;
ellipsisOverlayClassName: StringConstructor;
rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
showColumnShadow: PropType<{
left: boolean;
right: boolean;
}>;
tableElm: {};
tableWidth: NumberConstructor;
isWidthOverflow: BooleanConstructor;
virtualConfig: PropType<{
visibleData: import("vue").Ref<any[]>;
translateY: import("vue").Ref<number>;
scrollHeight: import("vue").Ref<number>;
isVirtualScroll: import("vue").ComputedRef<boolean>;
handleScroll: () => void;
handleRowMounted: (rowData: any) => void;
scrollToElement: (p: import("../hooks/useVirtualScrollNew").ScrollToElementParams) => void;
}>;
tableContentElm: {};
handleRowMounted: PropType<(rowData: any) => void>;
renderExpandedRow: PropType<(params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => import("../common").SlotReturnValue>;
}, {
t: <T>(pattern: T, ...args: any[]) => any;
globalConfig: import("vue").ComputedRef<import("..").TableConfig>;
renderTNode: (name: string, options?: import("../utils/render-tnode").OptionsType) => any;
tableFullRowClasses: {
base: string;
innerFullRow: string;
innerFullElement: string;
firstFullRow: string;
lastFullRow: string;
};
tbodyClasses: import("vue").ComputedRef<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;
};
skipSpansMap: import("vue").Ref<Map<string, import("./hooks/useRowspanAndColspan").SkipSpansValue>>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
allowResizeColumnWidth?: {
type: BooleanConstructor;
default: any;
};
attach?: {
type: PropType<import("../common").AttachNode>;
};
bordered?: BooleanConstructor;
bottomContent?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
cellEmptyContent?: {
type: PropType<string | ((h: typeof import("vue").h, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("../common").SlotReturnValue)>;
};
columns: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]> | {
type: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]>;
default: () => import("./type").BaseTableCol<import("./type").TableRowData>[];
};
data: PropType<import("./type").TableRowData[]> | {
type: PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
disableDataPage?: BooleanConstructor;
empty?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
default: string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
};
firstFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
fixedRows?: {
type: PropType<number[]>;
};
footData?: {
type: PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
footerAffixProps?: {
type: PropType<Partial<import("..").TdAffixProps>>;
};
footerAffixedBottom?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean | Partial<import("..").TdAffixProps>;
};
footerSummary?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
headerAffixProps?: {
type: PropType<Partial<import("..").TdAffixProps>>;
};
headerAffixedTop?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean | Partial<import("..").TdAffixProps>;
};
height?: {
type: PropType<string | number>;
};
horizontalScrollAffixedBottom?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
};
hover?: BooleanConstructor;
lastFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
lazyLoad?: BooleanConstructor;
loading?: {
type: PropType<boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
default: boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
};
loadingProps?: {
type: PropType<Partial<import("..").TdLoadingProps>>;
};
maxHeight?: {
type: PropType<string | number>;
};
pagination?: {
type: PropType<import("..").TdPaginationProps>;
};
paginationAffixedBottom?: {
type: PropType<boolean | Partial<import("..").TdAffixProps>>;
};
resizable?: BooleanConstructor;
rowAttributes?: {
type: PropType<import("./type").TableRowAttributes<import("./type").TableRowData>>;
};
rowClassName?: {
type: PropType<import("../common").ClassName | ((params: import("./type").RowClassNameParams<import("./type").TableRowData>) => import("../common").ClassName)>;
};
rowKey?: {
type: StringConstructor;
default: string;
required: boolean;
};
rowspanAndColspan?: {
type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
rowspanAndColspanInFooter?: {
type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
scroll?: {
type: PropType<import("../common").TScroll>;
};
showHeader?: {
type: BooleanConstructor;
default: boolean;
};
size?: {
type: PropType<import("../common").SizeEnum>;
default: import("../common").SizeEnum;
validator(val: import("../common").SizeEnum): boolean;
};
stripe?: BooleanConstructor;
tableContentWidth?: {
type: StringConstructor;
default: string;
};
tableLayout?: {
type: PropType<"fixed" | "auto">;
default: "fixed" | "auto";
validator(val: "fixed" | "auto"): boolean;
};
topContent?: {
type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
};
verticalAlign?: {
type: PropType<"top" | "bottom" | "middle">;
default: "top" | "bottom" | "middle";
validator(val: "top" | "bottom" | "middle"): boolean;
};
onCellClick?: PropType<(context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void>;
onColumnResizeChange?: PropType<(context: {
columnsWidth: {
[colKey: string]: number;
};
}) => void>;
onPageChange?: PropType<(pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void>;
onRowClick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowDblclick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMousedown?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseenter?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseleave?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseover?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseup?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onScroll?: PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollX?: PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollY?: PropType<(params: {
e: WheelEvent;
}) => void>;
classPrefix: StringConstructor;
ellipsisOverlayClassName: StringConstructor;
rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
showColumnShadow: PropType<{
left: boolean;
right: boolean;
}>;
tableElm: {};
tableWidth: NumberConstructor;
isWidthOverflow: BooleanConstructor;
virtualConfig: PropType<{
visibleData: import("vue").Ref<any[]>;
translateY: import("vue").Ref<number>;
scrollHeight: import("vue").Ref<number>;
isVirtualScroll: import("vue").ComputedRef<boolean>;
handleScroll: () => void;
handleRowMounted: (rowData: any) => void;
scrollToElement: (p: import("../hooks/useVirtualScrollNew").ScrollToElementParams) => void;
}>;
tableContentElm: {};
handleRowMounted: PropType<(rowData: any) => void>;
renderExpandedRow: PropType<(params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => import("../common").SlotReturnValue>;
}>>, {
tableLayout?: "fixed" | "auto";
verticalAlign?: "top" | "bottom" | "middle";
loading?: boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
size?: import("../common").SizeEnum;
empty?: string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
hover?: boolean;
lazyLoad?: boolean;
bordered?: boolean;
stripe?: boolean;
allowResizeColumnWidth?: boolean;
disableDataPage?: boolean;
footData?: import("./type").TableRowData[];
footerAffixedBottom?: boolean | Partial<import("..").TdAffixProps>;
headerAffixedTop?: boolean | Partial<import("..").TdAffixProps>;
resizable?: boolean;
rowKey?: string;
showHeader?: boolean;
tableContentWidth?: string;
isWidthOverflow: boolean;
}, {}>;
export default _default;