table-v2.d.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371
  1. import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
  2. import { Alignment } from "../../virtual-list/src/types.js";
  3. import { SortOrder } from "./constants.js";
  4. import { DataGetter, KeyType, SortBy, SortState, TableV2CustomizedHeaderSlotParam } from "./types.js";
  5. import { AnyColumn } from "./common.js";
  6. import { onRowRenderedParams } from "./grid.js";
  7. import { ColumnSortHandler, ExpandedRowsChangeHandler, ExtraCellPropGetter, HeaderClassNameGetter, RowClassNameGetter } from "./table.js";
  8. import { TableV2HeaderRowCellRendererParams } from "./components/header-row.js";
  9. import { RowEventHandlers, RowExpandHandler } from "./row.js";
  10. import { TableV2RowCellRenderParam, TableV2RowSlotProps } from "./components/row.js";
  11. import * as _$vue from "vue";
  12. import { CSSProperties, SlotsType } from "vue";
  13. import * as _$vue_jsx_runtime0 from "vue/jsx-runtime";
  14. //#region ../../packages/components/table-v2/src/table-v2.d.ts
  15. type TableV2Slots = {
  16. row?: (props: TableV2RowSlotProps) => any;
  17. cell?: (props: TableV2RowCellRenderParam) => any;
  18. header?: (props: TableV2CustomizedHeaderSlotParam) => any;
  19. 'header-cell'?: (props: TableV2HeaderRowCellRendererParams) => any;
  20. footer?: () => any;
  21. empty?: () => any;
  22. overlay?: () => any;
  23. };
  24. declare const TableV2: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
  25. readonly cache: EpPropFinalized<NumberConstructor, never, never, 2, false>;
  26. readonly estimatedRowHeight: {
  27. readonly default: undefined;
  28. readonly type: _$vue.PropType<number>;
  29. readonly required: false;
  30. readonly validator: ((val: unknown) => boolean) | undefined;
  31. readonly __epPropKey: true;
  32. };
  33. readonly rowKey: EpPropFinalized<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | (((new (...args: any[]) => string | number | symbol) | (() => KeyType)) | null)[], unknown, unknown, "id", boolean>;
  34. readonly headerClass: {
  35. readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | HeaderClassNameGetter<any>) | (() => string | HeaderClassNameGetter<any>) | (((new (...args: any[]) => string | HeaderClassNameGetter<any>) | (() => string | HeaderClassNameGetter<any>)) | null)[], unknown, unknown>>;
  36. readonly required: false;
  37. readonly validator: ((val: unknown) => boolean) | undefined;
  38. __epPropKey: true;
  39. };
  40. readonly headerProps: {
  41. readonly type: _$vue.PropType<any>;
  42. readonly required: false;
  43. readonly validator: ((val: unknown) => boolean) | undefined;
  44. __epPropKey: true;
  45. };
  46. readonly headerCellProps: {
  47. readonly type: _$vue.PropType<any>;
  48. readonly required: false;
  49. readonly validator: ((val: unknown) => boolean) | undefined;
  50. __epPropKey: true;
  51. };
  52. readonly headerHeight: EpPropFinalized<(new (...args: any[]) => number | number[]) | (() => number | number[]) | (((new (...args: any[]) => number | number[]) | (() => number | number[])) | null)[], unknown, unknown, 50, boolean>;
  53. readonly footerHeight: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
  54. readonly rowClass: {
  55. readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | RowClassNameGetter<any>) | (() => string | RowClassNameGetter<any>) | (((new (...args: any[]) => string | RowClassNameGetter<any>) | (() => string | RowClassNameGetter<any>)) | null)[], unknown, unknown>>;
  56. readonly required: false;
  57. readonly validator: ((val: unknown) => boolean) | undefined;
  58. __epPropKey: true;
  59. };
  60. readonly rowProps: {
  61. readonly type: _$vue.PropType<any>;
  62. readonly required: false;
  63. readonly validator: ((val: unknown) => boolean) | undefined;
  64. __epPropKey: true;
  65. };
  66. readonly rowHeight: EpPropFinalized<NumberConstructor, unknown, unknown, 50, boolean>;
  67. readonly cellProps: {
  68. readonly type: _$vue.PropType<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>)) | null)[], unknown, unknown>>;
  69. readonly required: false;
  70. readonly validator: ((val: unknown) => boolean) | undefined;
  71. __epPropKey: true;
  72. };
  73. readonly columns: {
  74. readonly type: _$vue.PropType<AnyColumn[]>;
  75. readonly required: true;
  76. readonly validator: ((val: unknown) => boolean) | undefined;
  77. __epPropKey: true;
  78. };
  79. readonly data: {
  80. readonly type: _$vue.PropType<any[]>;
  81. readonly required: true;
  82. readonly validator: ((val: unknown) => boolean) | undefined;
  83. __epPropKey: true;
  84. };
  85. readonly dataGetter: {
  86. readonly type: _$vue.PropType<DataGetter<any>>;
  87. readonly required: false;
  88. readonly validator: ((val: unknown) => boolean) | undefined;
  89. __epPropKey: true;
  90. };
  91. readonly fixedData: {
  92. readonly type: _$vue.PropType<any[]>;
  93. readonly required: false;
  94. readonly validator: ((val: unknown) => boolean) | undefined;
  95. __epPropKey: true;
  96. };
  97. readonly expandColumnKey: StringConstructor;
  98. readonly expandedRowKeys: EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | (((new (...args: any[]) => KeyType[]) | (() => KeyType[])) | null)[], unknown, unknown, () => never[], boolean>;
  99. readonly defaultExpandedRowKeys: EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | (((new (...args: any[]) => KeyType[]) | (() => KeyType[])) | null)[], unknown, unknown, () => never[], boolean>;
  100. readonly class: StringConstructor;
  101. readonly fixed: BooleanConstructor;
  102. readonly style: {
  103. readonly type: _$vue.PropType<CSSProperties>;
  104. readonly required: false;
  105. readonly validator: ((val: unknown) => boolean) | undefined;
  106. __epPropKey: true;
  107. };
  108. readonly width: {
  109. readonly type: _$vue.PropType<number>;
  110. readonly required: true;
  111. readonly validator: ((val: unknown) => boolean) | undefined;
  112. __epPropKey: true;
  113. };
  114. readonly height: {
  115. readonly type: _$vue.PropType<number>;
  116. readonly required: true;
  117. readonly validator: ((val: unknown) => boolean) | undefined;
  118. __epPropKey: true;
  119. };
  120. readonly maxHeight: NumberConstructor;
  121. readonly useIsScrolling: BooleanConstructor;
  122. readonly indentSize: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  123. readonly iconSize: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  124. readonly hScrollbarSize: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  125. readonly vScrollbarSize: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  126. readonly scrollbarAlwaysOn: BooleanConstructor;
  127. readonly sortBy: EpPropFinalized<(new (...args: any[]) => SortBy) | (() => SortBy) | (((new (...args: any[]) => SortBy) | (() => SortBy)) | null)[], unknown, unknown, () => {
  128. key: KeyType;
  129. order: SortOrder;
  130. }, boolean>;
  131. readonly sortState: EpPropFinalized<(new (...args: any[]) => SortState) | (() => SortState) | (((new (...args: any[]) => SortState) | (() => SortState)) | null)[], unknown, unknown, undefined, boolean>;
  132. readonly onColumnSort: {
  133. readonly type: _$vue.PropType<ColumnSortHandler<any>>;
  134. readonly required: false;
  135. readonly validator: ((val: unknown) => boolean) | undefined;
  136. __epPropKey: true;
  137. };
  138. readonly onExpandedRowsChange: {
  139. readonly type: _$vue.PropType<ExpandedRowsChangeHandler>;
  140. readonly required: false;
  141. readonly validator: ((val: unknown) => boolean) | undefined;
  142. __epPropKey: true;
  143. };
  144. readonly onEndReached: {
  145. readonly type: _$vue.PropType<(remainDistance: number) => void>;
  146. readonly required: false;
  147. readonly validator: ((val: unknown) => boolean) | undefined;
  148. __epPropKey: true;
  149. };
  150. readonly onRowExpand: {
  151. readonly type: _$vue.PropType<RowExpandHandler>;
  152. readonly required: false;
  153. readonly validator: ((val: unknown) => boolean) | undefined;
  154. __epPropKey: true;
  155. };
  156. readonly onScroll: {
  157. readonly type: _$vue.PropType<(...args: any[]) => void>;
  158. readonly required: false;
  159. readonly validator: ((val: unknown) => boolean) | undefined;
  160. __epPropKey: true;
  161. };
  162. readonly onRowsRendered: {
  163. readonly type: _$vue.PropType<(params: onRowRenderedParams) => void>;
  164. readonly required: false;
  165. readonly validator: ((val: unknown) => boolean) | undefined;
  166. __epPropKey: true;
  167. };
  168. readonly rowEventHandlers: {
  169. readonly type: _$vue.PropType<RowEventHandlers>;
  170. readonly required: false;
  171. readonly validator: ((val: unknown) => boolean) | undefined;
  172. __epPropKey: true;
  173. };
  174. }>, () => _$vue_jsx_runtime0.JSX.Element, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
  175. readonly cache: EpPropFinalized<NumberConstructor, never, never, 2, false>;
  176. readonly estimatedRowHeight: {
  177. readonly default: undefined;
  178. readonly type: _$vue.PropType<number>;
  179. readonly required: false;
  180. readonly validator: ((val: unknown) => boolean) | undefined;
  181. readonly __epPropKey: true;
  182. };
  183. readonly rowKey: EpPropFinalized<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | (((new (...args: any[]) => string | number | symbol) | (() => KeyType)) | null)[], unknown, unknown, "id", boolean>;
  184. readonly headerClass: {
  185. readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | HeaderClassNameGetter<any>) | (() => string | HeaderClassNameGetter<any>) | (((new (...args: any[]) => string | HeaderClassNameGetter<any>) | (() => string | HeaderClassNameGetter<any>)) | null)[], unknown, unknown>>;
  186. readonly required: false;
  187. readonly validator: ((val: unknown) => boolean) | undefined;
  188. __epPropKey: true;
  189. };
  190. readonly headerProps: {
  191. readonly type: _$vue.PropType<any>;
  192. readonly required: false;
  193. readonly validator: ((val: unknown) => boolean) | undefined;
  194. __epPropKey: true;
  195. };
  196. readonly headerCellProps: {
  197. readonly type: _$vue.PropType<any>;
  198. readonly required: false;
  199. readonly validator: ((val: unknown) => boolean) | undefined;
  200. __epPropKey: true;
  201. };
  202. readonly headerHeight: EpPropFinalized<(new (...args: any[]) => number | number[]) | (() => number | number[]) | (((new (...args: any[]) => number | number[]) | (() => number | number[])) | null)[], unknown, unknown, 50, boolean>;
  203. readonly footerHeight: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
  204. readonly rowClass: {
  205. readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | RowClassNameGetter<any>) | (() => string | RowClassNameGetter<any>) | (((new (...args: any[]) => string | RowClassNameGetter<any>) | (() => string | RowClassNameGetter<any>)) | null)[], unknown, unknown>>;
  206. readonly required: false;
  207. readonly validator: ((val: unknown) => boolean) | undefined;
  208. __epPropKey: true;
  209. };
  210. readonly rowProps: {
  211. readonly type: _$vue.PropType<any>;
  212. readonly required: false;
  213. readonly validator: ((val: unknown) => boolean) | undefined;
  214. __epPropKey: true;
  215. };
  216. readonly rowHeight: EpPropFinalized<NumberConstructor, unknown, unknown, 50, boolean>;
  217. readonly cellProps: {
  218. readonly type: _$vue.PropType<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>)) | null)[], unknown, unknown>>;
  219. readonly required: false;
  220. readonly validator: ((val: unknown) => boolean) | undefined;
  221. __epPropKey: true;
  222. };
  223. readonly columns: {
  224. readonly type: _$vue.PropType<AnyColumn[]>;
  225. readonly required: true;
  226. readonly validator: ((val: unknown) => boolean) | undefined;
  227. __epPropKey: true;
  228. };
  229. readonly data: {
  230. readonly type: _$vue.PropType<any[]>;
  231. readonly required: true;
  232. readonly validator: ((val: unknown) => boolean) | undefined;
  233. __epPropKey: true;
  234. };
  235. readonly dataGetter: {
  236. readonly type: _$vue.PropType<DataGetter<any>>;
  237. readonly required: false;
  238. readonly validator: ((val: unknown) => boolean) | undefined;
  239. __epPropKey: true;
  240. };
  241. readonly fixedData: {
  242. readonly type: _$vue.PropType<any[]>;
  243. readonly required: false;
  244. readonly validator: ((val: unknown) => boolean) | undefined;
  245. __epPropKey: true;
  246. };
  247. readonly expandColumnKey: StringConstructor;
  248. readonly expandedRowKeys: EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | (((new (...args: any[]) => KeyType[]) | (() => KeyType[])) | null)[], unknown, unknown, () => never[], boolean>;
  249. readonly defaultExpandedRowKeys: EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | (((new (...args: any[]) => KeyType[]) | (() => KeyType[])) | null)[], unknown, unknown, () => never[], boolean>;
  250. readonly class: StringConstructor;
  251. readonly fixed: BooleanConstructor;
  252. readonly style: {
  253. readonly type: _$vue.PropType<CSSProperties>;
  254. readonly required: false;
  255. readonly validator: ((val: unknown) => boolean) | undefined;
  256. __epPropKey: true;
  257. };
  258. readonly width: {
  259. readonly type: _$vue.PropType<number>;
  260. readonly required: true;
  261. readonly validator: ((val: unknown) => boolean) | undefined;
  262. __epPropKey: true;
  263. };
  264. readonly height: {
  265. readonly type: _$vue.PropType<number>;
  266. readonly required: true;
  267. readonly validator: ((val: unknown) => boolean) | undefined;
  268. __epPropKey: true;
  269. };
  270. readonly maxHeight: NumberConstructor;
  271. readonly useIsScrolling: BooleanConstructor;
  272. readonly indentSize: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  273. readonly iconSize: EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  274. readonly hScrollbarSize: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  275. readonly vScrollbarSize: EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  276. readonly scrollbarAlwaysOn: BooleanConstructor;
  277. readonly sortBy: EpPropFinalized<(new (...args: any[]) => SortBy) | (() => SortBy) | (((new (...args: any[]) => SortBy) | (() => SortBy)) | null)[], unknown, unknown, () => {
  278. key: KeyType;
  279. order: SortOrder;
  280. }, boolean>;
  281. readonly sortState: EpPropFinalized<(new (...args: any[]) => SortState) | (() => SortState) | (((new (...args: any[]) => SortState) | (() => SortState)) | null)[], unknown, unknown, undefined, boolean>;
  282. readonly onColumnSort: {
  283. readonly type: _$vue.PropType<ColumnSortHandler<any>>;
  284. readonly required: false;
  285. readonly validator: ((val: unknown) => boolean) | undefined;
  286. __epPropKey: true;
  287. };
  288. readonly onExpandedRowsChange: {
  289. readonly type: _$vue.PropType<ExpandedRowsChangeHandler>;
  290. readonly required: false;
  291. readonly validator: ((val: unknown) => boolean) | undefined;
  292. __epPropKey: true;
  293. };
  294. readonly onEndReached: {
  295. readonly type: _$vue.PropType<(remainDistance: number) => void>;
  296. readonly required: false;
  297. readonly validator: ((val: unknown) => boolean) | undefined;
  298. __epPropKey: true;
  299. };
  300. readonly onRowExpand: {
  301. readonly type: _$vue.PropType<RowExpandHandler>;
  302. readonly required: false;
  303. readonly validator: ((val: unknown) => boolean) | undefined;
  304. __epPropKey: true;
  305. };
  306. readonly onScroll: {
  307. readonly type: _$vue.PropType<(...args: any[]) => void>;
  308. readonly required: false;
  309. readonly validator: ((val: unknown) => boolean) | undefined;
  310. __epPropKey: true;
  311. };
  312. readonly onRowsRendered: {
  313. readonly type: _$vue.PropType<(params: onRowRenderedParams) => void>;
  314. readonly required: false;
  315. readonly validator: ((val: unknown) => boolean) | undefined;
  316. __epPropKey: true;
  317. };
  318. readonly rowEventHandlers: {
  319. readonly type: _$vue.PropType<RowEventHandlers>;
  320. readonly required: false;
  321. readonly validator: ((val: unknown) => boolean) | undefined;
  322. __epPropKey: true;
  323. };
  324. }>> & Readonly<{}>, {
  325. readonly fixed: boolean;
  326. readonly useIsScrolling: boolean;
  327. readonly scrollbarAlwaysOn: boolean;
  328. readonly cache: number;
  329. readonly rowKey: EpPropMergeType<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | (((new (...args: any[]) => string | number | symbol) | (() => KeyType)) | null)[], unknown, unknown>;
  330. readonly headerHeight: EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => number | number[]) | (((new (...args: any[]) => number | number[]) | (() => number | number[])) | null)[], unknown, unknown>;
  331. readonly sortBy: SortBy;
  332. readonly estimatedRowHeight: number;
  333. readonly rowHeight: number;
  334. readonly hScrollbarSize: number;
  335. readonly vScrollbarSize: number;
  336. readonly footerHeight: number;
  337. readonly indentSize: number;
  338. readonly iconSize: number;
  339. readonly sortState: SortState;
  340. readonly expandedRowKeys: KeyType[];
  341. readonly defaultExpandedRowKeys: KeyType[];
  342. }, SlotsType<TableV2Slots>, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
  343. type TableV2Instance = InstanceType<typeof TableV2> & {
  344. /**
  345. * @description scroll to a given position
  346. * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.
  347. */
  348. scrollTo: (param: {
  349. scrollLeft?: number;
  350. scrollTop?: number;
  351. }) => void;
  352. /**
  353. * @description scroll to a given position horizontally
  354. * @params scrollLeft {Number} where to scroll to.
  355. */
  356. scrollToLeft: (scrollLeft: number) => void;
  357. /**
  358. * @description scroll to a given position vertically
  359. * @params scrollTop { Number } where to scroll to.
  360. */
  361. scrollToTop: (scrollTop: number) => void;
  362. /**
  363. * @description scroll to a given row
  364. * @params row {Number} which row to scroll to
  365. * @params strategy {ScrollStrategy} use what strategy to scroll to
  366. */
  367. scrollToRow(row: number, strategy?: Alignment): void;
  368. };
  369. //#endregion
  370. export { TableV2Instance, TableV2 as default };