table.d.ts 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. import type { CSSProperties, ExtractPropTypes } from 'vue';
  2. import type { SortOrder } from './constants';
  3. import type { Column, ColumnCommonParams, DataGetter, KeyType, RowCommonParams, SortBy, SortState } from './types';
  4. /**
  5. * Param types
  6. */
  7. export type ColumnSortParams<T> = {
  8. column: Column<T>;
  9. key: KeyType;
  10. order: SortOrder;
  11. };
  12. /**
  13. * Renderer/Getter types
  14. */
  15. export type ExtraCellPropGetter<T> = (params: ColumnCommonParams<T> & RowCommonParams & {
  16. cellData: T;
  17. rowData: any;
  18. }) => any;
  19. export type ExtractHeaderPropGetter<T> = (params: {
  20. columns: Column<T>[];
  21. headerIndex: number;
  22. }) => any;
  23. export type ExtractHeaderCellPropGetter<T> = (params: ColumnCommonParams<T> & {
  24. headerIndex: number;
  25. }) => any;
  26. export type ExtractRowPropGetter<T> = (params: {
  27. columns: Column<T>[];
  28. } & RowCommonParams) => any;
  29. export type HeaderClassNameGetter<T> = (params: {
  30. columns: Column<T>[];
  31. headerIndex: number;
  32. }) => string;
  33. export type RowClassNameGetter<T> = (params: {
  34. columns: Column<T>[];
  35. } & RowCommonParams) => string;
  36. /**
  37. * Handler types
  38. */
  39. export type ColumnSortHandler<T> = (params: ColumnSortParams<T>) => void;
  40. export type ColumnResizeHandler<T> = (column: Column<T>, width: number) => void;
  41. export type ExpandedRowsChangeHandler = (expandedRowKeys: KeyType[]) => void;
  42. export declare const tableV2Props: {
  43. readonly cache: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, never, never, 2, false>;
  44. readonly estimatedRowHeight: {
  45. readonly default: undefined;
  46. readonly type: import("vue").PropType<number>;
  47. readonly required: false;
  48. readonly validator: ((val: unknown) => boolean) | undefined;
  49. readonly __epPropKey: true;
  50. };
  51. readonly rowKey: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | ((new (...args: any[]) => string | number | symbol) | (() => KeyType))[], unknown, unknown, "id", boolean>;
  52. readonly headerClass: {
  53. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | HeaderClassNameGetter<any>) | (() => string | HeaderClassNameGetter<any>) | ((new (...args: any[]) => string | HeaderClassNameGetter<any>) | (() => string | HeaderClassNameGetter<any>))[], unknown, unknown>>;
  54. readonly required: false;
  55. readonly validator: ((val: unknown) => boolean) | undefined;
  56. __epPropKey: true;
  57. };
  58. readonly headerProps: {
  59. readonly type: import("vue").PropType<any>;
  60. readonly required: false;
  61. readonly validator: ((val: unknown) => boolean) | undefined;
  62. __epPropKey: true;
  63. };
  64. readonly headerCellProps: {
  65. readonly type: import("vue").PropType<any>;
  66. readonly required: false;
  67. readonly validator: ((val: unknown) => boolean) | undefined;
  68. __epPropKey: true;
  69. };
  70. readonly headerHeight: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | number[]) | (() => number | number[]) | ((new (...args: any[]) => number | number[]) | (() => number | number[]))[], unknown, unknown, 50, boolean>;
  71. readonly footerHeight: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
  72. readonly rowClass: {
  73. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | RowClassNameGetter<any>) | (() => string | RowClassNameGetter<any>) | ((new (...args: any[]) => string | RowClassNameGetter<any>) | (() => string | RowClassNameGetter<any>))[], unknown, unknown>>;
  74. readonly required: false;
  75. readonly validator: ((val: unknown) => boolean) | undefined;
  76. __epPropKey: true;
  77. };
  78. readonly rowProps: {
  79. readonly type: import("vue").PropType<any>;
  80. readonly required: false;
  81. readonly validator: ((val: unknown) => boolean) | undefined;
  82. __epPropKey: true;
  83. };
  84. readonly rowHeight: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 50, boolean>;
  85. readonly cellProps: {
  86. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => Record<string, any> | ExtraCellPropGetter<any>) | (() => Record<string, any> | ExtraCellPropGetter<any>) | ((new (...args: any[]) => Record<string, any> | ExtraCellPropGetter<any>) | (() => Record<string, any> | ExtraCellPropGetter<any>))[], unknown, unknown>>;
  87. readonly required: false;
  88. readonly validator: ((val: unknown) => boolean) | undefined;
  89. __epPropKey: true;
  90. };
  91. readonly columns: {
  92. readonly type: import("vue").PropType<import("./common").AnyColumn[]>;
  93. readonly required: true;
  94. readonly validator: ((val: unknown) => boolean) | undefined;
  95. __epPropKey: true;
  96. };
  97. readonly data: {
  98. readonly type: import("vue").PropType<any[]>;
  99. readonly required: true;
  100. readonly validator: ((val: unknown) => boolean) | undefined;
  101. __epPropKey: true;
  102. };
  103. readonly dataGetter: {
  104. readonly type: import("vue").PropType<DataGetter<any>>;
  105. readonly required: false;
  106. readonly validator: ((val: unknown) => boolean) | undefined;
  107. __epPropKey: true;
  108. };
  109. readonly fixedData: {
  110. readonly type: import("vue").PropType<any[]>;
  111. readonly required: false;
  112. readonly validator: ((val: unknown) => boolean) | undefined;
  113. __epPropKey: true;
  114. };
  115. readonly expandColumnKey: StringConstructor;
  116. readonly expandedRowKeys: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | ((new (...args: any[]) => KeyType[]) | (() => KeyType[]))[], unknown, unknown, () => never[], boolean>;
  117. readonly defaultExpandedRowKeys: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | ((new (...args: any[]) => KeyType[]) | (() => KeyType[]))[], unknown, unknown, () => never[], boolean>;
  118. readonly class: StringConstructor;
  119. readonly fixed: BooleanConstructor;
  120. readonly style: {
  121. readonly type: import("vue").PropType<CSSProperties>;
  122. readonly required: false;
  123. readonly validator: ((val: unknown) => boolean) | undefined;
  124. __epPropKey: true;
  125. };
  126. readonly width: {
  127. readonly type: import("vue").PropType<number>;
  128. readonly required: true;
  129. readonly validator: ((val: unknown) => boolean) | undefined;
  130. __epPropKey: true;
  131. };
  132. readonly height: {
  133. readonly type: import("vue").PropType<number>;
  134. readonly required: true;
  135. readonly validator: ((val: unknown) => boolean) | undefined;
  136. __epPropKey: true;
  137. };
  138. readonly maxHeight: NumberConstructor;
  139. readonly useIsScrolling: BooleanConstructor;
  140. readonly indentSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  141. readonly iconSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  142. readonly hScrollbarSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  143. readonly vScrollbarSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  144. readonly scrollbarAlwaysOn: BooleanConstructor;
  145. readonly sortBy: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => SortBy) | (() => SortBy) | ((new (...args: any[]) => SortBy) | (() => SortBy))[], unknown, unknown, () => {
  146. key: KeyType;
  147. order: SortOrder;
  148. }, boolean>;
  149. readonly sortState: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => SortState) | (() => SortState) | ((new (...args: any[]) => SortState) | (() => SortState))[], unknown, unknown, undefined, boolean>;
  150. readonly onColumnSort: {
  151. readonly type: import("vue").PropType<ColumnSortHandler<any>>;
  152. readonly required: false;
  153. readonly validator: ((val: unknown) => boolean) | undefined;
  154. __epPropKey: true;
  155. };
  156. readonly onExpandedRowsChange: {
  157. readonly type: import("vue").PropType<ExpandedRowsChangeHandler>;
  158. readonly required: false;
  159. readonly validator: ((val: unknown) => boolean) | undefined;
  160. __epPropKey: true;
  161. };
  162. readonly onEndReached: {
  163. readonly type: import("vue").PropType<(remainDistance: number) => void>;
  164. readonly required: false;
  165. readonly validator: ((val: unknown) => boolean) | undefined;
  166. __epPropKey: true;
  167. };
  168. readonly onRowExpand: {
  169. readonly type: import("vue").PropType<import("./row").RowExpandHandler>;
  170. readonly required: false;
  171. readonly validator: ((val: unknown) => boolean) | undefined;
  172. __epPropKey: true;
  173. };
  174. readonly onScroll: {
  175. readonly type: import("vue").PropType<(...args: any[]) => void>;
  176. readonly required: false;
  177. readonly validator: ((val: unknown) => boolean) | undefined;
  178. __epPropKey: true;
  179. };
  180. readonly onRowsRendered: {
  181. readonly type: import("vue").PropType<(params: import("./grid").onRowRenderedParams) => void>;
  182. readonly required: false;
  183. readonly validator: ((val: unknown) => boolean) | undefined;
  184. __epPropKey: true;
  185. };
  186. readonly rowEventHandlers: {
  187. readonly type: import("vue").PropType<import("./row").RowEventHandlers>;
  188. readonly required: false;
  189. readonly validator: ((val: unknown) => boolean) | undefined;
  190. __epPropKey: true;
  191. };
  192. };
  193. export type TableV2Props = ExtractPropTypes<typeof tableV2Props>;