@aloudata/aloudata-design 0.2.0-beta.9 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +188 -51
- package/es/Alert/index.d.ts +4 -0
- package/es/Alert/index.js +3 -0
- package/es/Alert/style/index.d.ts +2 -0
- package/es/Alert/style/index.js +2 -0
- package/es/Alert/style/index.less +1 -0
- package/es/Button/style/index.less +90 -50
- package/es/Checkbox/index.d.ts +11 -0
- package/es/Checkbox/index.js +38 -0
- package/es/Checkbox/style/index.d.ts +2 -0
- package/es/Checkbox/style/index.js +2 -0
- package/es/Checkbox/style/index.less +79 -0
- package/es/Col/index.d.ts +4 -0
- package/es/Col/index.js +3 -0
- package/es/Col/style/index.d.ts +2 -0
- package/es/Col/style/index.js +2 -0
- package/es/Col/style/index.less +1 -0
- package/es/ConfigProvider/index.d.ts +3 -0
- package/es/ConfigProvider/index.js +3 -0
- package/es/ConfigProvider/style/index.d.ts +2 -0
- package/es/ConfigProvider/style/index.js +2 -0
- package/es/ConfigProvider/style/index.less +1 -0
- package/es/DatePicker/index.d.ts +4 -0
- package/es/DatePicker/index.js +3 -0
- package/es/DatePicker/style/index.d.ts +2 -0
- package/es/DatePicker/style/index.js +2 -0
- package/es/DatePicker/style/index.less +1 -0
- package/es/Divider/index.d.ts +3 -0
- package/es/Divider/index.js +3 -0
- package/es/Divider/style/index.d.ts +2 -0
- package/es/Divider/style/index.js +2 -0
- package/es/Divider/style/index.less +1 -0
- package/es/Dropdown/Button.d.ts +1 -0
- package/es/Dropdown/Button.js +2 -1
- package/es/Dropdown/index.d.ts +22 -0
- package/es/Dropdown/style/index.d.ts +1 -0
- package/es/Dropdown/style/index.js +1 -0
- package/es/Empty/style/index.less +6 -6
- package/es/Form/index.d.ts +8 -0
- package/es/Form/index.js +3 -0
- package/es/Form/style/index.d.ts +2 -0
- package/es/Form/style/index.js +2 -0
- package/es/Form/style/index.less +1 -0
- package/es/Icon/index.d.ts +3 -0
- package/es/Icon/index.js +2 -1
- package/es/Input/components/Group/index.d.ts +1 -2
- package/es/Input/components/Input/index.d.ts +67 -0
- package/es/Input/components/Input/index.js +38 -0
- package/es/Input/components/Password/index.d.ts +5 -5
- package/es/Input/components/Password/index.js +5 -4
- package/es/Input/components/TextArea/index.d.ts +10 -4
- package/es/Input/components/TextArea/index.js +16 -6
- package/es/Input/index.d.ts +14 -62
- package/es/Input/index.js +4 -40
- package/es/Input/style/index.d.ts +1 -0
- package/es/Input/style/index.js +1 -0
- package/es/Input/style/index.less +40 -10
- package/es/Layout/index.d.ts +4 -0
- package/es/Layout/index.js +3 -0
- package/es/Layout/style/index.d.ts +2 -0
- package/es/Layout/style/index.js +2 -0
- package/es/Layout/style/index.less +1 -0
- package/es/Menu/MenuItem.d.ts +7 -1
- package/es/Menu/style/index.d.ts +1 -0
- package/es/Menu/style/index.js +1 -0
- package/es/Menu/style/index.less +9 -5
- package/es/Message/index.d.ts +4 -0
- package/es/Message/index.js +3 -0
- package/es/Message/style/index.d.ts +2 -0
- package/es/Message/style/index.js +2 -0
- package/es/Message/style/index.less +1 -0
- package/es/Navigator/components/Menu/index.js +2 -2
- package/es/Notification/index.d.ts +3 -0
- package/es/Notification/index.js +3 -0
- package/es/Notification/style/index.d.ts +2 -0
- package/es/Notification/style/index.js +2 -0
- package/es/Notification/style/index.less +1 -0
- package/es/Radio/index.d.ts +4 -0
- package/es/Radio/index.js +3 -0
- package/es/Radio/style/index.d.ts +2 -0
- package/es/Radio/style/index.js +2 -0
- package/es/Radio/style/index.less +1 -0
- package/es/Row/index.d.ts +3 -0
- package/es/Row/index.js +1 -0
- package/es/Row/style/index.d.ts +2 -0
- package/es/Row/style/index.js +2 -0
- package/es/Row/style/index.less +1 -0
- package/es/Select/BaseSelect.js +18 -5
- package/es/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +2 -1
- package/es/Select/OptionsList/OptionItem/RenderLabelIcon.js +1 -0
- package/es/Select/OptionsList/index.js +13 -20
- package/es/Select/Selector/index.js +13 -9
- package/es/Select/interface.d.ts +10 -2
- package/es/Select/style/index.less +63 -30
- package/es/Skeleton/index.d.ts +3 -0
- package/es/Skeleton/index.js +2 -0
- package/es/Skeleton/style/index.d.ts +2 -0
- package/es/Skeleton/style/index.js +2 -0
- package/es/Skeleton/style/index.less +1 -0
- package/es/Space/index.d.ts +4 -0
- package/es/Space/index.js +3 -0
- package/es/Space/style/index.d.ts +2 -0
- package/es/Space/style/index.js +2 -0
- package/es/Space/style/index.less +1 -0
- package/es/Spin/index.d.ts +4 -0
- package/es/Spin/index.js +2 -0
- package/es/Spin/style/index.d.ts +2 -0
- package/es/Spin/style/index.js +2 -0
- package/es/Spin/style/index.less +1 -0
- package/es/Steps/index.d.ts +3 -0
- package/es/Steps/index.js +2 -0
- package/es/Steps/style/index.d.ts +2 -0
- package/es/Steps/style/index.js +2 -0
- package/es/Steps/style/index.less +1 -0
- package/es/Switch/index.d.ts +4 -0
- package/es/Switch/index.js +2 -0
- package/es/Switch/style/index.d.ts +2 -0
- package/es/Switch/style/index.js +2 -0
- package/es/Switch/style/index.less +1 -0
- package/es/Table/index.d.ts +3 -3
- package/es/Table/index.js +253 -139
- package/es/Table/interface.d.ts +10 -4
- package/es/Table/react-table-config.d.ts +45 -45
- package/es/Table/style/index.less +88 -40
- package/es/Tabs/index.d.ts +5 -0
- package/es/Tabs/index.js +7 -4
- package/es/Tabs/style/index.d.ts +1 -0
- package/es/Tabs/style/index.js +1 -0
- package/es/Tabs/style/index.less +9 -2
- package/es/Tooltip/style/index.less +1 -1
- package/es/Tree/index.d.ts +5 -0
- package/es/Tree/index.js +2 -0
- package/es/Tree/style/index.d.ts +2 -0
- package/es/Tree/style/index.js +2 -0
- package/es/Tree/style/index.less +1 -0
- package/es/Typography/index.d.ts +3 -0
- package/es/Typography/index.js +3 -0
- package/es/Typography/style/index.d.ts +2 -0
- package/es/Typography/style/index.js +2 -0
- package/es/Typography/style/index.less +1 -0
- package/es/Upload/index.d.ts +4 -0
- package/es/Upload/index.js +3 -0
- package/es/Upload/style/index.d.ts +2 -0
- package/es/Upload/style/index.js +2 -0
- package/es/Upload/style/index.less +1 -0
- package/es/_utils/hooks/useControlledState.d.ts +1 -1
- package/es/_utils/hooks/useControlledState.js +11 -11
- package/es/index.d.ts +39 -1
- package/es/index.js +21 -1
- package/es/locale/zh_CN.d.ts +2 -0
- package/es/locale/zh_CN.js +2 -0
- package/es/style/index.d.ts +1 -1
- package/es/style/index.js +1 -1
- package/lib/Alert/index.d.ts +4 -0
- package/lib/Alert/index.js +15 -0
- package/lib/Alert/style/index.d.ts +2 -0
- package/lib/Alert/style/index.js +5 -0
- package/lib/Alert/style/index.less +1 -0
- package/lib/Button/style/index.less +90 -50
- package/lib/Checkbox/index.d.ts +11 -0
- package/lib/Checkbox/index.js +52 -0
- package/lib/Checkbox/style/index.d.ts +2 -0
- package/lib/Checkbox/style/index.js +5 -0
- package/lib/Checkbox/style/index.less +79 -0
- package/lib/Col/index.d.ts +4 -0
- package/lib/Col/index.js +15 -0
- package/lib/Col/style/index.d.ts +2 -0
- package/lib/Col/style/index.js +5 -0
- package/lib/Col/style/index.less +1 -0
- package/lib/ConfigProvider/index.d.ts +3 -0
- package/lib/ConfigProvider/index.js +15 -0
- package/lib/ConfigProvider/style/index.d.ts +2 -0
- package/lib/ConfigProvider/style/index.js +5 -0
- package/lib/ConfigProvider/style/index.less +1 -0
- package/lib/DatePicker/index.d.ts +4 -0
- package/lib/DatePicker/index.js +15 -0
- package/lib/DatePicker/style/index.d.ts +2 -0
- package/lib/DatePicker/style/index.js +5 -0
- package/lib/DatePicker/style/index.less +1 -0
- package/lib/Divider/index.d.ts +3 -0
- package/lib/Divider/index.js +15 -0
- package/lib/Divider/style/index.d.ts +2 -0
- package/lib/Divider/style/index.js +5 -0
- package/lib/Divider/style/index.less +1 -0
- package/lib/Dropdown/Button.d.ts +1 -0
- package/lib/Dropdown/Button.js +2 -0
- package/lib/Dropdown/index.d.ts +22 -0
- package/lib/Dropdown/style/index.d.ts +1 -0
- package/lib/Dropdown/style/index.js +2 -0
- package/lib/Empty/style/index.less +6 -6
- package/lib/Form/index.d.ts +8 -0
- package/lib/Form/index.js +15 -0
- package/lib/Form/style/index.d.ts +2 -0
- package/lib/Form/style/index.js +5 -0
- package/lib/Form/style/index.less +1 -0
- package/lib/Icon/index.d.ts +3 -0
- package/lib/Icon/index.js +6 -0
- package/lib/Input/components/Group/index.d.ts +1 -2
- package/lib/Input/components/Input/index.d.ts +67 -0
- package/lib/Input/components/Input/index.js +51 -0
- package/lib/Input/components/Password/index.d.ts +5 -5
- package/lib/Input/components/Password/index.js +10 -8
- package/lib/Input/components/TextArea/index.d.ts +10 -4
- package/lib/Input/components/TextArea/index.js +18 -7
- package/lib/Input/index.d.ts +14 -62
- package/lib/Input/index.js +4 -42
- package/lib/Input/style/index.d.ts +1 -0
- package/lib/Input/style/index.js +2 -0
- package/lib/Input/style/index.less +40 -10
- package/lib/Layout/index.d.ts +4 -0
- package/lib/Layout/index.js +15 -0
- package/lib/Layout/style/index.d.ts +2 -0
- package/lib/Layout/style/index.js +5 -0
- package/lib/Layout/style/index.less +1 -0
- package/lib/Menu/MenuItem.d.ts +7 -1
- package/lib/Menu/style/index.d.ts +1 -0
- package/lib/Menu/style/index.js +2 -0
- package/lib/Menu/style/index.less +9 -5
- package/lib/Message/index.d.ts +4 -0
- package/lib/Message/index.js +15 -0
- package/lib/Message/style/index.d.ts +2 -0
- package/lib/Message/style/index.js +5 -0
- package/lib/Message/style/index.less +1 -0
- package/lib/Navigator/components/Menu/index.js +2 -2
- package/lib/Notification/index.d.ts +3 -0
- package/lib/Notification/index.js +15 -0
- package/lib/Notification/style/index.d.ts +2 -0
- package/lib/Notification/style/index.js +5 -0
- package/lib/Notification/style/index.less +1 -0
- package/lib/Radio/index.d.ts +4 -0
- package/lib/Radio/index.js +15 -0
- package/lib/Radio/style/index.d.ts +2 -0
- package/lib/Radio/style/index.js +5 -0
- package/lib/Radio/style/index.less +1 -0
- package/lib/Row/index.d.ts +3 -0
- package/lib/Row/index.js +8 -0
- package/lib/Row/style/index.d.ts +2 -0
- package/lib/Row/style/index.js +5 -0
- package/lib/Row/style/index.less +1 -0
- package/lib/Select/BaseSelect.js +18 -5
- package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +2 -1
- package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.js +2 -0
- package/lib/Select/OptionsList/index.js +12 -20
- package/lib/Select/Selector/index.js +13 -9
- package/lib/Select/interface.d.ts +10 -2
- package/lib/Select/style/index.less +63 -30
- package/lib/Skeleton/index.d.ts +3 -0
- package/lib/Skeleton/index.js +13 -0
- package/lib/Skeleton/style/index.d.ts +2 -0
- package/lib/Skeleton/style/index.js +5 -0
- package/lib/Skeleton/style/index.less +1 -0
- package/lib/Space/index.d.ts +4 -0
- package/lib/Space/index.js +23 -0
- package/lib/Space/style/index.d.ts +2 -0
- package/lib/Space/style/index.js +5 -0
- package/lib/Space/style/index.less +1 -0
- package/lib/Spin/index.d.ts +4 -0
- package/lib/Spin/index.js +13 -0
- package/lib/Spin/style/index.d.ts +2 -0
- package/lib/Spin/style/index.js +5 -0
- package/lib/Spin/style/index.less +1 -0
- package/lib/Steps/index.d.ts +3 -0
- package/lib/Steps/index.js +13 -0
- package/lib/Steps/style/index.d.ts +2 -0
- package/lib/Steps/style/index.js +5 -0
- package/lib/Steps/style/index.less +1 -0
- package/lib/Switch/index.d.ts +4 -0
- package/lib/Switch/index.js +13 -0
- package/lib/Switch/style/index.d.ts +2 -0
- package/lib/Switch/style/index.js +5 -0
- package/lib/Switch/style/index.less +1 -0
- package/lib/Table/index.d.ts +3 -3
- package/lib/Table/index.js +262 -147
- package/lib/Table/interface.d.ts +10 -4
- package/lib/Table/react-table-config.d.ts +45 -45
- package/lib/Table/style/index.less +88 -40
- package/lib/Tabs/index.d.ts +5 -0
- package/lib/Tabs/index.js +6 -3
- package/lib/Tabs/style/index.d.ts +1 -0
- package/lib/Tabs/style/index.js +2 -0
- package/lib/Tabs/style/index.less +9 -2
- package/lib/Tooltip/style/index.less +1 -1
- package/lib/Tree/index.d.ts +5 -0
- package/lib/Tree/index.js +13 -0
- package/lib/Tree/style/index.d.ts +2 -0
- package/lib/Tree/style/index.js +5 -0
- package/lib/Tree/style/index.less +1 -0
- package/lib/Typography/index.d.ts +3 -0
- package/lib/Typography/index.js +15 -0
- package/lib/Typography/style/index.d.ts +2 -0
- package/lib/Typography/style/index.js +5 -0
- package/lib/Typography/style/index.less +1 -0
- package/lib/Upload/index.d.ts +4 -0
- package/lib/Upload/index.js +15 -0
- package/lib/Upload/style/index.d.ts +2 -0
- package/lib/Upload/style/index.js +5 -0
- package/lib/Upload/style/index.less +1 -0
- package/lib/_utils/hooks/useControlledState.d.ts +1 -1
- package/lib/_utils/hooks/useControlledState.js +11 -11
- package/lib/index.d.ts +39 -1
- package/lib/index.js +160 -0
- package/lib/locale/zh_CN.d.ts +2 -0
- package/lib/locale/zh_CN.js +13 -0
- package/lib/style/index.d.ts +1 -1
- package/lib/style/index.js +1 -1
- package/package.json +15 -4
package/es/Table/index.js
CHANGED
|
@@ -23,32 +23,31 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
23
23
|
|
|
24
24
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
25
|
|
|
26
|
+
/* eslint-disable no-unneeded-ternary */
|
|
26
27
|
/// <reference types ='./react-table-config' />
|
|
27
|
-
import
|
|
28
|
-
import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
|
|
29
|
-
import usePrefixCls from '../_utils/hooks/usePrefixCls';
|
|
30
|
-
import { FixedSizeList } from 'react-window';
|
|
31
|
-
import InfiniteLoader from 'react-window-infinite-loader';
|
|
28
|
+
import _ from 'lodash';
|
|
32
29
|
import classnames from 'classnames';
|
|
33
30
|
import Icon from '../Icon';
|
|
31
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
32
|
+
import usePrefixCls from '../_utils/hooks/usePrefixCls';
|
|
33
|
+
import InfiniteScroll from 'react-infinite-scroll-component';
|
|
34
34
|
import Empty from '../Empty';
|
|
35
|
-
import
|
|
36
|
-
|
|
35
|
+
import ResizeObserver from 'rc-resize-observer';
|
|
36
|
+
import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
|
|
37
37
|
var ARRAY_FIRST_INDEX = 0;
|
|
38
38
|
var DEFAULT_ROW_WIDTH = 0;
|
|
39
|
+
var DEFAULT_BODY_HEIGHT = 0;
|
|
39
40
|
|
|
40
|
-
function Table(_ref) {
|
|
41
|
+
function Table(_ref, ref) {
|
|
41
42
|
var columns = _ref.columns,
|
|
42
43
|
data = _ref.data,
|
|
43
44
|
total = _ref.total,
|
|
44
45
|
renderHeaderLeft = _ref.renderHeaderLeft,
|
|
45
46
|
renderHeaderRight = _ref.renderHeaderRight,
|
|
46
|
-
scrollY = _ref.scrollY,
|
|
47
47
|
onRowSelected = _ref.onRowSelected,
|
|
48
|
-
|
|
49
|
-
loadMore = _ref$loadMore === void 0 ? function () {} : _ref$loadMore,
|
|
50
|
-
hasNextPage = _ref.hasNextPage,
|
|
48
|
+
loadMore = _ref.loadMore,
|
|
51
49
|
loading = _ref.loading,
|
|
50
|
+
hasNextPage = _ref.hasNextPage,
|
|
52
51
|
_ref$sortable = _ref.sortable,
|
|
53
52
|
sortable = _ref$sortable === void 0 ? false : _ref$sortable,
|
|
54
53
|
defaultSort = _ref.defaultSort,
|
|
@@ -58,17 +57,82 @@ function Table(_ref) {
|
|
|
58
57
|
_ref$showHeader = _ref.showHeader,
|
|
59
58
|
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
|
|
60
59
|
_ref$onChange = _ref.onChange,
|
|
61
|
-
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange
|
|
60
|
+
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
61
|
+
_ref$innerScroll = _ref.innerScroll,
|
|
62
|
+
innerScroll = _ref$innerScroll === void 0 ? false : _ref$innerScroll,
|
|
63
|
+
_ref$scrollThreshold = _ref.scrollThreshold,
|
|
64
|
+
scrollThreshold = _ref$scrollThreshold === void 0 ? '150px' : _ref$scrollThreshold,
|
|
65
|
+
_ref$rowClassName = _ref.rowClassName,
|
|
66
|
+
rowClassName = _ref$rowClassName === void 0 ? '' : _ref$rowClassName,
|
|
67
|
+
_ref$ellipsis = _ref.ellipsis,
|
|
68
|
+
ellipsis = _ref$ellipsis === void 0 ? true : _ref$ellipsis,
|
|
69
|
+
renderEmpty = _ref.renderEmpty,
|
|
70
|
+
rowKey = _ref.rowKey;
|
|
62
71
|
|
|
63
72
|
var _React$useState = React.useState(null),
|
|
64
73
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
65
74
|
selectedRowId = _React$useState2[0],
|
|
66
75
|
setSelectedRowId = _React$useState2[1];
|
|
67
76
|
|
|
77
|
+
var tableBodyListRef = useRef(null);
|
|
78
|
+
var tableRef = useRef(null);
|
|
79
|
+
|
|
80
|
+
var _useState = useState(DEFAULT_BODY_HEIGHT),
|
|
81
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
82
|
+
tableClientWidth = _useState2[0],
|
|
83
|
+
setTableClientWidth = _useState2[1];
|
|
84
|
+
|
|
85
|
+
var RANDOM_ID = "INNER_SCROLL_ID_".concat(Math.random());
|
|
86
|
+
|
|
87
|
+
var _useState3 = useState(DEFAULT_ROW_WIDTH),
|
|
88
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
89
|
+
width = _useState4[0],
|
|
90
|
+
setWidth = _useState4[1]; // 如果页面整体宽度变化则重新计算
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
useEffect(function () {
|
|
94
|
+
if (tableRef.current) {
|
|
95
|
+
setTableClientWidth(tableRef.current.clientWidth);
|
|
96
|
+
}
|
|
97
|
+
}, [width]);
|
|
98
|
+
var initialColumnsWidthMap = useMemo(function () {
|
|
99
|
+
var map = new Map();
|
|
100
|
+
|
|
101
|
+
if (tableClientWidth !== DEFAULT_BODY_HEIGHT) {
|
|
102
|
+
var noGivenColumns = 0;
|
|
103
|
+
var givenColumnsTotalWidth = 0;
|
|
104
|
+
columns.forEach(function (column) {
|
|
105
|
+
if (column.width) {
|
|
106
|
+
map.set(column.dataIndex, column.width);
|
|
107
|
+
givenColumnsTotalWidth += column.width;
|
|
108
|
+
} else {
|
|
109
|
+
noGivenColumns += 1;
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
var averageWidth = (tableClientWidth - givenColumnsTotalWidth) / noGivenColumns;
|
|
113
|
+
return {
|
|
114
|
+
columnMap: map,
|
|
115
|
+
averageWidth: averageWidth
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
columns.forEach(function (column) {
|
|
120
|
+
if (column.width) {
|
|
121
|
+
map.set(column.dataIndex, column.width);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
columnMap: map,
|
|
126
|
+
averageWidth: DEFAULT_ROW_WIDTH
|
|
127
|
+
};
|
|
128
|
+
}, [columns, tableClientWidth]);
|
|
68
129
|
var newColumns = useMemo(function () {
|
|
69
130
|
return columns.map(function (column) {
|
|
70
131
|
return _objectSpread(_objectSpread({}, column), {}, {
|
|
71
|
-
|
|
132
|
+
width: initialColumnsWidthMap.columnMap.get(column.dataIndex) || initialColumnsWidthMap.averageWidth,
|
|
133
|
+
Header: column.title ? column.title : function () {
|
|
134
|
+
return null;
|
|
135
|
+
},
|
|
72
136
|
disableSortBy: !sortable || typeof column.sorter === 'boolean',
|
|
73
137
|
accessor: column.dataIndex,
|
|
74
138
|
Cell: function Cell(_ref2) {
|
|
@@ -78,7 +142,12 @@ function Table(_ref) {
|
|
|
78
142
|
}
|
|
79
143
|
});
|
|
80
144
|
});
|
|
81
|
-
}, [columns, sortable]);
|
|
145
|
+
}, [columns, sortable, initialColumnsWidthMap]); // 默认排序的对象
|
|
146
|
+
|
|
147
|
+
var defaultSortObject = {
|
|
148
|
+
id: newColumns[ARRAY_FIRST_INDEX].accessor,
|
|
149
|
+
desc: newColumns[ARRAY_FIRST_INDEX].sortOrder && newColumns[ARRAY_FIRST_INDEX].sortOrder === 'descend' ? true : false
|
|
150
|
+
}; // 如果支持排序 但是没有默认排序 则默认按第一列倒叙排序
|
|
82
151
|
|
|
83
152
|
var getInitialSortDirection = function getInitialSortDirection() {
|
|
84
153
|
if (defaultSort && defaultSort.id) {
|
|
@@ -86,10 +155,7 @@ function Table(_ref) {
|
|
|
86
155
|
}
|
|
87
156
|
|
|
88
157
|
if (sortable) {
|
|
89
|
-
return
|
|
90
|
-
id: newColumns[ARRAY_FIRST_INDEX].accessor,
|
|
91
|
-
desc: false
|
|
92
|
-
};
|
|
158
|
+
return defaultSortObject;
|
|
93
159
|
}
|
|
94
160
|
|
|
95
161
|
return {
|
|
@@ -103,13 +169,30 @@ function Table(_ref) {
|
|
|
103
169
|
sortDirection = _React$useState4[0],
|
|
104
170
|
setSortDirection = _React$useState4[1];
|
|
105
171
|
|
|
172
|
+
var getInitSortBy = function getInitSortBy() {
|
|
173
|
+
if (!(sortDirection === null || sortDirection === void 0 ? void 0 : sortDirection.id)) {
|
|
174
|
+
return [];
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
var sortColumn = newColumns.find(function (column) {
|
|
178
|
+
return column.accessor === sortDirection.id;
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
if (sortColumn === null || sortColumn === void 0 ? void 0 : sortColumn.sorter) {
|
|
182
|
+
return [];
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
return [sortDirection];
|
|
186
|
+
};
|
|
187
|
+
|
|
106
188
|
var _useTable = useTable({
|
|
107
189
|
columns: newColumns,
|
|
108
190
|
data: data,
|
|
109
191
|
disableMultiSort: true,
|
|
110
192
|
disableSortBy: !sortable,
|
|
193
|
+
getRowId: rowKey,
|
|
111
194
|
initialState: {
|
|
112
|
-
sortBy:
|
|
195
|
+
sortBy: getInitSortBy()
|
|
113
196
|
}
|
|
114
197
|
}, useBlockLayout, useSortBy, useRowSelect, useResizeColumns),
|
|
115
198
|
getTableProps = _useTable.getTableProps,
|
|
@@ -117,21 +200,11 @@ function Table(_ref) {
|
|
|
117
200
|
headerGroups = _useTable.headerGroups,
|
|
118
201
|
rows = _useTable.rows,
|
|
119
202
|
prepareRow = _useTable.prepareRow,
|
|
120
|
-
setSortBy = _useTable.setSortBy
|
|
203
|
+
setSortBy = _useTable.setSortBy,
|
|
204
|
+
totalColumnsWidth = _useTable.totalColumnsWidth;
|
|
121
205
|
|
|
122
206
|
var theadRowWidthRef = React.useRef(DEFAULT_ROW_WIDTH);
|
|
123
207
|
var prefixCls = usePrefixCls('block-table');
|
|
124
|
-
|
|
125
|
-
function getTbodyStyle() {
|
|
126
|
-
if (scrollY) {
|
|
127
|
-
return {
|
|
128
|
-
height: "".concat(scrollY, "px")
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return {};
|
|
133
|
-
}
|
|
134
|
-
|
|
135
208
|
var onRowClick = useCallback(function (row) {
|
|
136
209
|
if (!onRowSelected) {
|
|
137
210
|
return;
|
|
@@ -140,48 +213,6 @@ function Table(_ref) {
|
|
|
140
213
|
setSelectedRowId(row.id);
|
|
141
214
|
onRowSelected(row.original);
|
|
142
215
|
}, [onRowSelected]);
|
|
143
|
-
var itemCount = hasNextPage ? data.length + 1 : data.length;
|
|
144
|
-
var loadMoreItems = loading ? function () {} : loadMore;
|
|
145
|
-
|
|
146
|
-
var isItemLoaded = function isItemLoaded(index) {
|
|
147
|
-
return !hasNextPage || index < data.length;
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
var RenderRow = function RenderRow(_ref3) {
|
|
151
|
-
var index = _ref3.index,
|
|
152
|
-
style = _ref3.style;
|
|
153
|
-
|
|
154
|
-
if (!isItemLoaded(index)) {
|
|
155
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
156
|
-
style: style,
|
|
157
|
-
className: classnames("".concat(prefixCls, "-loading"))
|
|
158
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
159
|
-
type: "waiting",
|
|
160
|
-
size: 16
|
|
161
|
-
}), "Loading");
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
var row = rows[index];
|
|
165
|
-
prepareRow(row);
|
|
166
|
-
|
|
167
|
-
var _row$getRowProps = row.getRowProps(),
|
|
168
|
-
rowStyle = _row$getRowProps.style,
|
|
169
|
-
rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
|
|
170
|
-
|
|
171
|
-
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
|
|
172
|
-
style: _objectSpread(_objectSpread(_objectSpread({}, style), rowStyle), {}, {
|
|
173
|
-
width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
|
|
174
|
-
}),
|
|
175
|
-
className: classnames("".concat(prefixCls, "-row"), _defineProperty({}, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId)),
|
|
176
|
-
onClick: function onClick() {
|
|
177
|
-
return onRowClick(row);
|
|
178
|
-
}
|
|
179
|
-
}), row.cells.map(function (cell) {
|
|
180
|
-
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
|
|
181
|
-
className: classnames("".concat(prefixCls, "-cell"))
|
|
182
|
-
}), cell.render('Cell'));
|
|
183
|
-
}));
|
|
184
|
-
};
|
|
185
216
|
|
|
186
217
|
var renderHeader = function renderHeader(len) {
|
|
187
218
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -191,41 +222,65 @@ function Table(_ref) {
|
|
|
191
222
|
}, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/React.createElement("div", {
|
|
192
223
|
className: classnames("".concat(prefixCls, "-header-right"))
|
|
193
224
|
}, renderHeaderRight ? renderHeaderRight() : null));
|
|
194
|
-
};
|
|
225
|
+
}; // 排序的方向 倒叙{ id: 'xx', desc: true }、正序{ id: 'xx', desc: false }、无序 { id: '', desc: undefined }
|
|
226
|
+
// 获取排序方向以及排序的id
|
|
227
|
+
|
|
195
228
|
|
|
196
|
-
var
|
|
229
|
+
var getSortBy = function getSortBy(id) {
|
|
197
230
|
var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
|
|
198
|
-
var
|
|
231
|
+
var // 如果传了sortDirections,则使用传入的,否则使用默认的
|
|
232
|
+
sortOrder = arguments.length > 2 ? arguments[2] : undefined;
|
|
233
|
+
var res = {
|
|
234
|
+
id: id,
|
|
235
|
+
desc: undefined // 给个默认的排序
|
|
236
|
+
|
|
237
|
+
};
|
|
238
|
+
var isSameCol = sortDirection.id === id;
|
|
199
239
|
var descMap = new Map([['ascend', false], ['descend', true]]);
|
|
200
|
-
var directions = allSortDirections || sortDirections;
|
|
240
|
+
var directions = allSortDirections || sortDirections; // 如果不是同一列 则返回默认排序 或者排序顺序的第一个
|
|
241
|
+
|
|
242
|
+
if (!isSameCol) {
|
|
243
|
+
if (sortOrder === 'ascend' || sortOrder === 'descend') {
|
|
244
|
+
res.desc = descMap.get(sortOrder);
|
|
245
|
+
} else {
|
|
246
|
+
res.desc = sortOrder ? sortOrder : descMap.get(directions[ARRAY_FIRST_INDEX]);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
return res;
|
|
250
|
+
} // 如果是同一列
|
|
251
|
+
// 如果列给了默认的sortOrder则不在变化
|
|
252
|
+
|
|
201
253
|
|
|
202
254
|
if (sortOrder === 'ascend' || sortOrder === 'descend') {
|
|
203
|
-
|
|
204
|
-
|
|
255
|
+
res.desc = descMap.get(sortOrder);
|
|
256
|
+
return res;
|
|
257
|
+
} // 在所有方向上 往后取一个
|
|
205
258
|
|
|
206
|
-
if (typeof currentDesc === 'undefined') {
|
|
207
|
-
return descMap.get(directions[ARRAY_FIRST_INDEX]);
|
|
208
|
-
}
|
|
209
259
|
|
|
210
|
-
var
|
|
260
|
+
var lastSortDirection = sortDirection.desc ? 'descend' : 'ascend';
|
|
211
261
|
|
|
212
262
|
var index = _.findIndex(directions, function (item) {
|
|
213
|
-
return item ===
|
|
263
|
+
return item === lastSortDirection;
|
|
214
264
|
});
|
|
215
265
|
|
|
216
266
|
var nextIndex = index + 1;
|
|
217
|
-
|
|
267
|
+
res.desc = descMap.get(directions[nextIndex]); // 如果没有排序方向,则返回默认排序对象
|
|
268
|
+
|
|
269
|
+
if (res.desc === undefined) {
|
|
270
|
+
res.id = '';
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
return res;
|
|
218
274
|
};
|
|
219
275
|
|
|
220
276
|
var getHeaderProps = function getHeaderProps(column) {
|
|
221
277
|
// @ts-ignore
|
|
222
278
|
var id = column.id,
|
|
223
|
-
isSortedDesc = column.isSortedDesc,
|
|
224
279
|
canSort = column.canSort,
|
|
225
280
|
sorter = column.sorter,
|
|
226
281
|
sortOrder = column.sortOrder,
|
|
227
282
|
sortDirections = column.sortDirections;
|
|
228
|
-
var toggleProps = column.getSortByToggleProps();
|
|
283
|
+
var toggleProps = column.getSortByToggleProps(); // 仅在Table设置sortable时,所有列的canSort为true,此时为前端排序
|
|
229
284
|
|
|
230
285
|
if (canSort) {
|
|
231
286
|
// client sort
|
|
@@ -234,19 +289,16 @@ function Table(_ref) {
|
|
|
234
289
|
e.stopPropagation();
|
|
235
290
|
|
|
236
291
|
if (typeof toggleProps.onClick === 'function') {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
id: typeof desc === 'undefined' ? '' : id,
|
|
241
|
-
desc: desc
|
|
242
|
-
};
|
|
243
|
-
setSortBy(typeof desc === 'undefined' ? [] : [sortBy]);
|
|
292
|
+
var sortBy = getSortBy(id, sortDirections, sortOrder);
|
|
293
|
+
setSortBy(sortBy.desc === undefined ? [defaultSortObject] : [sortBy]); // 客户端排序时 需要重新设置排序
|
|
294
|
+
|
|
244
295
|
setSortDirection(sortBy);
|
|
245
296
|
onChange(sortBy);
|
|
246
297
|
}
|
|
247
298
|
}
|
|
248
299
|
});
|
|
249
|
-
}
|
|
300
|
+
} // 当列设置sorter属性时,则为服务端排序
|
|
301
|
+
|
|
250
302
|
|
|
251
303
|
if (sorter) {
|
|
252
304
|
// server sort
|
|
@@ -256,14 +308,8 @@ function Table(_ref) {
|
|
|
256
308
|
}
|
|
257
309
|
})), {}, {
|
|
258
310
|
onClick: function onClick(e) {
|
|
259
|
-
e.stopPropagation();
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
var desc = getNextSortDesc(sortDirection.desc, sortDirections, sortOrder);
|
|
263
|
-
var sortBy = {
|
|
264
|
-
id: typeof desc === 'boolean' ? id : '',
|
|
265
|
-
desc: desc
|
|
266
|
-
};
|
|
311
|
+
e.stopPropagation();
|
|
312
|
+
var sortBy = getSortBy(id, sortDirections, sortOrder);
|
|
267
313
|
setSortDirection(sortBy);
|
|
268
314
|
onChange(sortBy);
|
|
269
315
|
}
|
|
@@ -273,8 +319,8 @@ function Table(_ref) {
|
|
|
273
319
|
return column.getHeaderProps();
|
|
274
320
|
};
|
|
275
321
|
|
|
276
|
-
var SortIcons = function SortIcons(
|
|
277
|
-
var id =
|
|
322
|
+
var SortIcons = function SortIcons(_ref3) {
|
|
323
|
+
var id = _ref3.id;
|
|
278
324
|
var currentSortId = sortDirection.id,
|
|
279
325
|
desc = sortDirection.desc;
|
|
280
326
|
|
|
@@ -293,10 +339,89 @@ function Table(_ref) {
|
|
|
293
339
|
});
|
|
294
340
|
};
|
|
295
341
|
|
|
296
|
-
|
|
297
|
-
|
|
342
|
+
var scrollToTop = function scrollToTop() {
|
|
343
|
+
var INITIAL_OFFSET_TOP = 0;
|
|
344
|
+
|
|
345
|
+
if (tableBodyListRef && tableBodyListRef.current) {
|
|
346
|
+
tableBodyListRef.current.scrollTop = INITIAL_OFFSET_TOP;
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
React.useImperativeHandle(ref, function () {
|
|
351
|
+
return {
|
|
352
|
+
backToTop: function backToTop() {
|
|
353
|
+
scrollToTop();
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
});
|
|
357
|
+
var LoadingNode = /*#__PURE__*/React.createElement("div", {
|
|
358
|
+
className: classnames("".concat(prefixCls, "-loading"))
|
|
359
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
360
|
+
type: "waiting",
|
|
361
|
+
size: 16
|
|
362
|
+
}), "Loading");
|
|
363
|
+
|
|
364
|
+
var renderTableBody = function renderTableBody() {
|
|
365
|
+
if (loading && !rows.length) {
|
|
366
|
+
return LoadingNode;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
if (!loading && !rows.length) {
|
|
370
|
+
return renderEmpty ? renderEmpty() : /*#__PURE__*/React.createElement(Empty, {
|
|
371
|
+
description: "\u5F53\u524D\u65E0\u6570\u636E"
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
var renderRowList = function renderRowList() {
|
|
376
|
+
return data.map(function (item, index) {
|
|
377
|
+
var _classnames;
|
|
378
|
+
|
|
379
|
+
var row = rows[index];
|
|
380
|
+
prepareRow(row);
|
|
381
|
+
|
|
382
|
+
var _row$getRowProps = row.getRowProps(),
|
|
383
|
+
rowStyle = _row$getRowProps.style,
|
|
384
|
+
rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
|
|
385
|
+
|
|
386
|
+
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
|
|
387
|
+
style: _objectSpread({}, rowStyle),
|
|
388
|
+
className: classnames("".concat(prefixCls, "-row"), (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId), _defineProperty(_classnames, rowClassName, rowClassName), _defineProperty(_classnames, "".concat(prefixCls, "-row-ellipsis"), ellipsis), _classnames)),
|
|
389
|
+
onClick: function onClick() {
|
|
390
|
+
return onRowClick(row);
|
|
391
|
+
},
|
|
392
|
+
key: row.id
|
|
393
|
+
}), row.cells.map(function (cell) {
|
|
394
|
+
return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
|
|
395
|
+
className: classnames("".concat(prefixCls, "-cell"))
|
|
396
|
+
}), cell.render('Cell'));
|
|
397
|
+
}));
|
|
398
|
+
});
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
402
|
+
className: classnames("".concat(prefixCls, "-list"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
|
|
403
|
+
id: RANDOM_ID,
|
|
404
|
+
ref: tableBodyListRef
|
|
405
|
+
}, innerScroll ? /*#__PURE__*/React.createElement(InfiniteScroll, {
|
|
406
|
+
dataLength: rows.length,
|
|
407
|
+
next: loadMore,
|
|
408
|
+
hasMore: !!hasNextPage,
|
|
409
|
+
loader: LoadingNode,
|
|
410
|
+
scrollableTarget: RANDOM_ID,
|
|
411
|
+
scrollThreshold: scrollThreshold
|
|
412
|
+
}, renderRowList()) : renderRowList());
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
return /*#__PURE__*/React.createElement(ResizeObserver, {
|
|
416
|
+
onResize: function onResize(_ref4) {
|
|
417
|
+
var domWidth = _ref4.width;
|
|
418
|
+
setWidth(domWidth);
|
|
419
|
+
}
|
|
420
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
421
|
+
className: prefixCls,
|
|
422
|
+
ref: tableRef
|
|
298
423
|
}, showHeader && renderHeader(data.length), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
|
|
299
|
-
className: classnames(_defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
|
|
424
|
+
className: classnames("".concat(prefixCls, "-table-wrap"), _defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
|
|
300
425
|
}), /*#__PURE__*/React.createElement("div", {
|
|
301
426
|
className: "".concat(prefixCls, "-thead")
|
|
302
427
|
}, headerGroups.map(function (headerGroup) {
|
|
@@ -312,39 +437,28 @@ function Table(_ref) {
|
|
|
312
437
|
className: "".concat(prefixCls, "-row")
|
|
313
438
|
}), headerGroup.headers.map(function (column) {
|
|
314
439
|
var barPorps = resizeColumn ? column.getResizerProps() : {};
|
|
315
|
-
return /*#__PURE__*/React.createElement("div",
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}, getHeaderProps(column)), {}, {
|
|
440
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
441
|
+
className: classnames(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell")),
|
|
442
|
+
style: getHeaderProps(column).style,
|
|
319
443
|
key: column.id
|
|
320
|
-
}
|
|
321
|
-
className:
|
|
322
|
-
})),
|
|
444
|
+
}, /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
|
|
445
|
+
className: "".concat(prefixCls, "-cell-content")
|
|
446
|
+
}, getHeaderProps(column)), {}, {
|
|
447
|
+
style: {
|
|
448
|
+
width: '100%'
|
|
449
|
+
}
|
|
450
|
+
}), column.render('Header'), /*#__PURE__*/React.createElement(SortIcons, {
|
|
323
451
|
id: column.id
|
|
324
|
-
}))
|
|
452
|
+
})), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, barPorps), {}, {
|
|
453
|
+
className: classnames(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
|
|
454
|
+
})));
|
|
325
455
|
}));
|
|
326
456
|
})), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableBodyProps()), {}, {
|
|
327
|
-
className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-
|
|
328
|
-
style:
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}),
|
|
332
|
-
isItemLoaded: isItemLoaded,
|
|
333
|
-
itemCount: itemCount,
|
|
334
|
-
loadMoreItems: loadMoreItems
|
|
335
|
-
}, function (_ref5) {
|
|
336
|
-
var onItemsRendered = _ref5.onItemsRendered,
|
|
337
|
-
ref = _ref5.ref;
|
|
338
|
-
return /*#__PURE__*/React.createElement(FixedSizeList, {
|
|
339
|
-
itemCount: itemCount,
|
|
340
|
-
onItemsRendered: onItemsRendered,
|
|
341
|
-
height: scrollY || data.length * DEFAULT_ROW_HEIGHT,
|
|
342
|
-
itemSize: DEFAULT_ROW_HEIGHT,
|
|
343
|
-
width: resizeColumn ? theadRowWidthRef.current : '100%',
|
|
344
|
-
ref: ref,
|
|
345
|
-
className: "".concat(prefixCls, "-list")
|
|
346
|
-
}, RenderRow);
|
|
347
|
-
}))));
|
|
457
|
+
className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
|
|
458
|
+
style: {
|
|
459
|
+
width: totalColumnsWidth
|
|
460
|
+
}
|
|
461
|
+
}), renderTableBody()))));
|
|
348
462
|
}
|
|
349
463
|
|
|
350
|
-
export default Table;
|
|
464
|
+
export default /*#__PURE__*/React.forwardRef(Table);
|
package/es/Table/interface.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ export interface ISort<T> {
|
|
|
6
6
|
desc?: boolean;
|
|
7
7
|
}
|
|
8
8
|
export interface IColumn<T extends object> {
|
|
9
|
-
title: string;
|
|
9
|
+
title: string | null;
|
|
10
10
|
dataIndex: string;
|
|
11
|
-
render?: (value: any, row:
|
|
11
|
+
render?: (value: any, row: any, index: number) => React.ReactNode;
|
|
12
12
|
width?: number;
|
|
13
13
|
minWidth?: number;
|
|
14
14
|
sorter?: boolean | 'string' | 'number' | 'basic' | 'datetime' | 'alphanumeric' | ((rowA: Row<T>, rowB: Row<T>, columnId: IdType<T>, desc?: boolean) => number);
|
|
@@ -20,9 +20,8 @@ export interface ITableProps<T extends object> {
|
|
|
20
20
|
columns: IColumn<T>[];
|
|
21
21
|
data: T[];
|
|
22
22
|
total?: number;
|
|
23
|
-
scrollY?: number;
|
|
24
23
|
onRowSelected?: (row: T) => void;
|
|
25
|
-
loadMore?: (
|
|
24
|
+
loadMore?: () => void | Promise<void>;
|
|
26
25
|
hasNextPage?: boolean;
|
|
27
26
|
loading?: boolean;
|
|
28
27
|
renderHeaderLeft?: () => React.ReactNode;
|
|
@@ -33,4 +32,11 @@ export interface ITableProps<T extends object> {
|
|
|
33
32
|
sortDirections?: Array<'ascend' | 'descend'>;
|
|
34
33
|
resizeColumn?: boolean;
|
|
35
34
|
showHeader?: boolean;
|
|
35
|
+
innerScroll?: boolean;
|
|
36
|
+
ref?: React.RefObject<unknown>;
|
|
37
|
+
scrollThreshold?: string | number;
|
|
38
|
+
rowKey?: (row: any) => string;
|
|
39
|
+
rowClassName?: string;
|
|
40
|
+
ellipsis?: boolean;
|
|
41
|
+
renderEmpty?: () => React.ReactNode;
|
|
36
42
|
}
|