@aloudata/aloudata-design 0.2.0-beta.9 → 0.2.3
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/index.js +1 -1
- package/es/Button/style/index.less +90 -50
- package/es/Checkbox/index.d.ts +11 -0
- package/es/Checkbox/index.js +32 -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 +3 -8
- package/es/Dropdown/index.d.ts +27 -0
- package/es/Dropdown/index.js +1 -7
- 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 +3 -2
- package/es/Input/components/Group/index.d.ts +1 -2
- package/es/Input/components/Group/index.js +1 -7
- package/es/Input/components/Input/index.d.ts +67 -0
- package/es/Input/components/Input/index.js +32 -0
- package/es/Input/components/Password/index.d.ts +5 -5
- package/es/Input/components/Password/index.js +6 -11
- package/es/Input/components/TextArea/index.d.ts +10 -4
- package/es/Input/components/TextArea/index.js +13 -9
- 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/Divider.js +1 -8
- package/es/Menu/MenuItem.d.ts +7 -1
- package/es/Menu/MenuItem.js +1 -8
- package/es/Menu/SubMenu.js +1 -7
- package/es/Menu/index.js +1 -7
- 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 +3 -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 +3 -1
- package/es/Select/OptionsList/OptionItem/RenderLabelIcon.js +1 -0
- package/es/Select/OptionsList/index.js +14 -25
- package/es/Select/Selector/index.js +14 -14
- 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 +255 -142
- 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/TabPane.js +1 -7
- 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/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/index.js +1 -1
- package/lib/Button/style/index.less +90 -50
- package/lib/Checkbox/index.d.ts +11 -0
- package/lib/Checkbox/index.js +46 -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 +3 -7
- package/lib/Dropdown/index.d.ts +27 -0
- package/lib/Dropdown/index.js +1 -7
- 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 +7 -1
- package/lib/Input/components/Group/index.d.ts +1 -2
- package/lib/Input/components/Group/index.js +1 -7
- package/lib/Input/components/Input/index.d.ts +67 -0
- package/lib/Input/components/Input/index.js +45 -0
- package/lib/Input/components/Password/index.d.ts +5 -5
- package/lib/Input/components/Password/index.js +10 -14
- package/lib/Input/components/TextArea/index.d.ts +10 -4
- package/lib/Input/components/TextArea/index.js +16 -11
- 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/Divider.js +1 -7
- package/lib/Menu/MenuItem.d.ts +7 -1
- package/lib/Menu/MenuItem.js +1 -7
- package/lib/Menu/SubMenu.js +1 -7
- package/lib/Menu/index.js +1 -7
- 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 +15 -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 +3 -1
- package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.js +2 -0
- package/lib/Select/OptionsList/index.js +13 -25
- package/lib/Select/Selector/index.js +14 -14
- 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 +264 -150
- 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/TabPane.js +1 -7
- package/lib/Tabs/index.d.ts +5 -0
- package/lib/Tabs/index.js +7 -4
- 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/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,64 @@ 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
|
+
var isSameCol = sortDirection.id === id;
|
|
199
238
|
var descMap = new Map([['ascend', false], ['descend', true]]);
|
|
200
|
-
var directions = allSortDirections || sortDirections;
|
|
239
|
+
var directions = allSortDirections || sortDirections; // 如果不是同一列 则返回默认排序 或者排序顺序的第一个
|
|
240
|
+
|
|
241
|
+
if (!isSameCol) {
|
|
242
|
+
if (sortOrder === 'ascend' || sortOrder === 'descend') {
|
|
243
|
+
res.desc = descMap.get(sortOrder);
|
|
244
|
+
} else {
|
|
245
|
+
res.desc = sortOrder ? sortOrder : descMap.get(directions[ARRAY_FIRST_INDEX]);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
return res;
|
|
249
|
+
} // 如果是同一列
|
|
250
|
+
// 如果列给了默认的sortOrder则不在变化
|
|
251
|
+
|
|
201
252
|
|
|
202
253
|
if (sortOrder === 'ascend' || sortOrder === 'descend') {
|
|
203
|
-
|
|
204
|
-
|
|
254
|
+
res.desc = descMap.get(sortOrder);
|
|
255
|
+
return res;
|
|
256
|
+
} // 在所有方向上 往后取一个
|
|
205
257
|
|
|
206
|
-
if (typeof currentDesc === 'undefined') {
|
|
207
|
-
return descMap.get(directions[ARRAY_FIRST_INDEX]);
|
|
208
|
-
}
|
|
209
258
|
|
|
210
|
-
var
|
|
259
|
+
var lastSortDirection = sortDirection.desc ? 'descend' : 'ascend';
|
|
211
260
|
|
|
212
261
|
var index = _.findIndex(directions, function (item) {
|
|
213
|
-
return item ===
|
|
262
|
+
return item === lastSortDirection;
|
|
214
263
|
});
|
|
215
264
|
|
|
216
265
|
var nextIndex = index + 1;
|
|
217
|
-
|
|
266
|
+
res.desc = descMap.get(directions[nextIndex]); // 如果没有排序方向,则返回默认排序对象
|
|
267
|
+
|
|
268
|
+
if (res.desc === undefined) {
|
|
269
|
+
res.id = '';
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
return res;
|
|
218
273
|
};
|
|
219
274
|
|
|
220
275
|
var getHeaderProps = function getHeaderProps(column) {
|
|
221
276
|
// @ts-ignore
|
|
222
277
|
var id = column.id,
|
|
223
|
-
isSortedDesc = column.isSortedDesc,
|
|
224
278
|
canSort = column.canSort,
|
|
225
279
|
sorter = column.sorter,
|
|
226
280
|
sortOrder = column.sortOrder,
|
|
227
281
|
sortDirections = column.sortDirections;
|
|
228
|
-
var toggleProps = column.getSortByToggleProps();
|
|
282
|
+
var toggleProps = column.getSortByToggleProps(); // 仅在Table设置sortable时,所有列的canSort为true,此时为前端排序
|
|
229
283
|
|
|
230
284
|
if (canSort) {
|
|
231
285
|
// client sort
|
|
@@ -234,19 +288,16 @@ function Table(_ref) {
|
|
|
234
288
|
e.stopPropagation();
|
|
235
289
|
|
|
236
290
|
if (typeof toggleProps.onClick === 'function') {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
id: typeof desc === 'undefined' ? '' : id,
|
|
241
|
-
desc: desc
|
|
242
|
-
};
|
|
243
|
-
setSortBy(typeof desc === 'undefined' ? [] : [sortBy]);
|
|
291
|
+
var sortBy = getSortBy(id, sortDirections, sortOrder);
|
|
292
|
+
setSortBy(sortBy.desc === undefined ? [defaultSortObject] : [sortBy]); // 客户端排序时 需要重新设置排序
|
|
293
|
+
|
|
244
294
|
setSortDirection(sortBy);
|
|
245
295
|
onChange(sortBy);
|
|
246
296
|
}
|
|
247
297
|
}
|
|
248
298
|
});
|
|
249
|
-
}
|
|
299
|
+
} // 当列设置sorter属性时,则为服务端排序
|
|
300
|
+
|
|
250
301
|
|
|
251
302
|
if (sorter) {
|
|
252
303
|
// server sort
|
|
@@ -256,14 +307,8 @@ function Table(_ref) {
|
|
|
256
307
|
}
|
|
257
308
|
})), {}, {
|
|
258
309
|
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
|
-
};
|
|
310
|
+
e.stopPropagation();
|
|
311
|
+
var sortBy = getSortBy(id, sortDirections, sortOrder);
|
|
267
312
|
setSortDirection(sortBy);
|
|
268
313
|
onChange(sortBy);
|
|
269
314
|
}
|
|
@@ -273,8 +318,8 @@ function Table(_ref) {
|
|
|
273
318
|
return column.getHeaderProps();
|
|
274
319
|
};
|
|
275
320
|
|
|
276
|
-
var SortIcons = function SortIcons(
|
|
277
|
-
var id =
|
|
321
|
+
var SortIcons = function SortIcons(_ref3) {
|
|
322
|
+
var id = _ref3.id;
|
|
278
323
|
var currentSortId = sortDirection.id,
|
|
279
324
|
desc = sortDirection.desc;
|
|
280
325
|
|
|
@@ -293,10 +338,89 @@ function Table(_ref) {
|
|
|
293
338
|
});
|
|
294
339
|
};
|
|
295
340
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
341
|
+
var scrollToTop = function scrollToTop() {
|
|
342
|
+
var INITIAL_OFFSET_TOP = 0;
|
|
343
|
+
|
|
344
|
+
if (tableBodyListRef && tableBodyListRef.current) {
|
|
345
|
+
tableBodyListRef.current.scrollTop = INITIAL_OFFSET_TOP;
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
React.useImperativeHandle(ref, function () {
|
|
350
|
+
return {
|
|
351
|
+
backToTop: function backToTop() {
|
|
352
|
+
scrollToTop();
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
});
|
|
356
|
+
var LoadingNode = /*#__PURE__*/React.createElement("div", {
|
|
357
|
+
className: classnames("".concat(prefixCls, "-loading"))
|
|
358
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
359
|
+
type: "waiting",
|
|
360
|
+
size: 16
|
|
361
|
+
}), "Loading");
|
|
362
|
+
|
|
363
|
+
var renderTableBody = function renderTableBody() {
|
|
364
|
+
if (loading && !rows.length) {
|
|
365
|
+
return LoadingNode;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
if (!loading && !rows.length) {
|
|
369
|
+
return renderEmpty ? renderEmpty() : /*#__PURE__*/React.createElement(Empty, {
|
|
370
|
+
description: "\u5F53\u524D\u65E0\u6570\u636E"
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
var renderRowList = function renderRowList() {
|
|
375
|
+
return data.map(function (item, index) {
|
|
376
|
+
var _classnames;
|
|
377
|
+
|
|
378
|
+
var row = rows[index];
|
|
379
|
+
prepareRow(row);
|
|
380
|
+
|
|
381
|
+
var _row$getRowProps = row.getRowProps(),
|
|
382
|
+
rowStyle = _row$getRowProps.style,
|
|
383
|
+
rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
|
|
384
|
+
|
|
385
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({}, rowProps, {
|
|
386
|
+
style: _objectSpread({}, rowStyle),
|
|
387
|
+
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)),
|
|
388
|
+
onClick: function onClick() {
|
|
389
|
+
return onRowClick(row);
|
|
390
|
+
},
|
|
391
|
+
key: row.id
|
|
392
|
+
}), row.cells.map(function (cell) {
|
|
393
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({}, cell.getCellProps(), {
|
|
394
|
+
className: classnames("".concat(prefixCls, "-cell"))
|
|
395
|
+
}), cell.render('Cell'));
|
|
396
|
+
}));
|
|
397
|
+
});
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
401
|
+
className: classnames("".concat(prefixCls, "-list"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
|
|
402
|
+
id: RANDOM_ID,
|
|
403
|
+
ref: tableBodyListRef
|
|
404
|
+
}, innerScroll ? /*#__PURE__*/React.createElement(InfiniteScroll, {
|
|
405
|
+
dataLength: rows.length,
|
|
406
|
+
next: loadMore,
|
|
407
|
+
hasMore: !!hasNextPage,
|
|
408
|
+
loader: LoadingNode,
|
|
409
|
+
scrollableTarget: RANDOM_ID,
|
|
410
|
+
scrollThreshold: scrollThreshold
|
|
411
|
+
}, renderRowList()) : renderRowList());
|
|
412
|
+
};
|
|
413
|
+
|
|
414
|
+
return /*#__PURE__*/React.createElement(ResizeObserver, {
|
|
415
|
+
onResize: function onResize(_ref4) {
|
|
416
|
+
var domWidth = _ref4.width;
|
|
417
|
+
setWidth(domWidth);
|
|
418
|
+
}
|
|
419
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
420
|
+
className: prefixCls,
|
|
421
|
+
ref: tableRef
|
|
422
|
+
}, showHeader && renderHeader(data.length), /*#__PURE__*/React.createElement("div", Object.assign({}, getTableProps(), {
|
|
423
|
+
className: classnames("".concat(prefixCls, "-table-wrap"), _defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
|
|
300
424
|
}), /*#__PURE__*/React.createElement("div", {
|
|
301
425
|
className: "".concat(prefixCls, "-thead")
|
|
302
426
|
}, headerGroups.map(function (headerGroup) {
|
|
@@ -305,46 +429,35 @@ function Table(_ref) {
|
|
|
305
429
|
headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded2);
|
|
306
430
|
|
|
307
431
|
theadRowWidthRef.current = (style === null || style === void 0 ? void 0 : style.width) || DEFAULT_ROW_WIDTH;
|
|
308
|
-
return /*#__PURE__*/React.createElement("div",
|
|
432
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({}, headerGroupProps, {
|
|
309
433
|
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
310
434
|
width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
|
|
311
435
|
}),
|
|
312
436
|
className: "".concat(prefixCls, "-row")
|
|
313
437
|
}), headerGroup.headers.map(function (column) {
|
|
314
438
|
var barPorps = resizeColumn ? column.getResizerProps() : {};
|
|
315
|
-
return /*#__PURE__*/React.createElement("div",
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}, getHeaderProps(column)), {}, {
|
|
439
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
440
|
+
className: classnames(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell")),
|
|
441
|
+
style: getHeaderProps(column).style,
|
|
319
442
|
key: column.id
|
|
320
|
-
}
|
|
321
|
-
className:
|
|
322
|
-
}
|
|
443
|
+
}, /*#__PURE__*/React.createElement("div", Object.assign({
|
|
444
|
+
className: "".concat(prefixCls, "-cell-content")
|
|
445
|
+
}, getHeaderProps(column), {
|
|
446
|
+
style: {
|
|
447
|
+
width: '100%'
|
|
448
|
+
}
|
|
449
|
+
}), column.render('Header'), /*#__PURE__*/React.createElement(SortIcons, {
|
|
323
450
|
id: column.id
|
|
324
|
-
}))
|
|
451
|
+
})), /*#__PURE__*/React.createElement("div", Object.assign({}, barPorps, {
|
|
452
|
+
className: classnames(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
|
|
453
|
+
})));
|
|
325
454
|
}));
|
|
326
|
-
})), /*#__PURE__*/React.createElement("div",
|
|
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
|
-
}))));
|
|
455
|
+
})), /*#__PURE__*/React.createElement("div", Object.assign({}, getTableBodyProps(), {
|
|
456
|
+
className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-innerScroll"), innerScroll)),
|
|
457
|
+
style: {
|
|
458
|
+
width: totalColumnsWidth
|
|
459
|
+
}
|
|
460
|
+
}), renderTableBody()))));
|
|
348
461
|
}
|
|
349
462
|
|
|
350
|
-
export default Table;
|
|
463
|
+
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
|
}
|